Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

7
Task.Run是否有参数?
我正在从事一个多任务网络项目,并且是的新手Threading.Tasks。我实现了一个简单的方法Task.Factory.StartNew(),不知道该如何处理Task.Run()? 这是基本代码: Task.Factory.StartNew(new Action<object>( (x) => { // Do something with 'x' }), rawData); 我System.Threading.Tasks.Task在对象浏览器中进行了调查,但找不到Action<T>相似的参数。只有Action这需要void参数,没有类型。 只有两件事是相似的:static Task Run(Action action)并且static Task Run(Func<Task> function)不能同时发布参数。 是的,我知道我可以创建一个简单的扩展方法,但我的主要问题是,我们可以把它写在一行用Task.Run()?

17
找不到包含OwinStartupAttribute错误的程序集
这个错误 尝试加载应用程序时发生以下错误。-找不到包含OwinStartupAttribute的程序集。-找不到给定的类型或方法'false'。尝试指定程序集。要禁用OWIN启动发现,请在web.config中添加值为“ false”的appSetting owin:AutomaticAppStartup。要指定OWIN启动程序集,类或方法,请在web.config中添加带有完全限定的启动类或配置方法名称的appSetting owin:AppStartup。 出现在我的屏幕上,这是历史上创建的最丑陋的错误页面。 我尝试通过在配置中插入owin:AutomaticAppStartup来遵循页面上的指示。 <appSettings > <add key="owin:AppStartup" value="false"></add> </appSettings> 这没有解决问题。有什么建议么?

3
如何在C#中返回数组文字
我正在尝试以下代码。指出有错误的行。 int[] myfunction() { { //regular code } catch (Exception ex) { return {0,0,0}; //gives error } } 如何返回像字符串文字一样的数组文字?
87 c# 

4
如何从HttpRequestException获取StatusCode?
我可能在这里缺少明显的东西。 我正在使用Message字符串中包含的HttpClient引发。HttpRequestExceptionStatusCode 我该如何访问StatusCode呢? 编辑:更多信息,我急着写了这个问题。 我HttpClient用来访问WebApi项目中的另一个API。是的,我知道为什么要打电话EnsureSuccessStatusCode()。我想向下游传播一些错误,例如404和403。 我想要的是始终如一地转换HttpRequestException为HttpResponseException使用custom ExceptionFilterAttribute。 不幸的是,HttpRequestException除了消息之外,我没有任何其他可用的信息。我希望以StatusCode原始(int或枚举)形式发现。 看起来我可以: 使用该消息切换状态代码(正常) 或创建我的SecureSuccessStatusCode版本并引发实际上可用的异常。

10
从项目中存在的文件夹中读取文件
我有一个C#项目(Windows控制台应用程序)。我在项目内部创建了一个名为Data的文件夹。文件夹数据内有两个文本文件。 如何从“数据”文件夹中读取文本文件。我尝试了下面的事情。 string[] files = File.ReadAllLines(@"Data\Names.txt") 找不到文件,这是错误的提示。 我已经检查了一些之前发布的Stackoverflow答案,但没有一个对我有用。 我该如何进行?谢谢!
87 c# 

20
为什么我不能引用我的班级图书馆?
我有一个解决方案,其中包含一个网站和Visual Studio 2008中的类库。 然后,在解决方案之外,我还有一个网站项目需要引用类库。我右键单击Bin文件夹或Project,然后选择Add Reference,然后选择我的Class Library Project,它将类库需要的15个左右的DLL添加到网站bin文件夹中,但是没有任何.cs文件可以识别using语句。 using MyLibrary.MyFolder; 它说它无法解决,ReSharper只是说可以将其安全删除,因为它未被使用。 ReSharper可以识别出它需要引用,并建议它“引用MyLibrary并使用MyFolder”。我不确定为什么会提示我添加已有的参考。当我接受建议时,我得到了错误 “未能引用模块。引用可能会在项目之间产生循环依赖关系。” 我尝试过进入网站属性页并删除所有引用并重新添加它们,但是它给出了相同的错误。任何想法为什么这不起作用?


9
在C#中枚举时从List <T>中删除项目的智能方式
我有一个经典的案例,尝试在循环中枚举项目时从集合中删除它: List&lt;int&gt; myIntCollection = new List&lt;int&gt;(); myIntCollection.Add(42); myIntCollection.Add(12); myIntCollection.Add(96); myIntCollection.Add(25); foreach (int i in myIntCollection) { if (i == 42) myIntCollection.Remove(96); // The error is here. if (i == 25) myIntCollection.Remove(42); // The error is here. } 在发生更改后的迭代开始时,InvalidOperationException会抛出an ,因为枚举器不喜欢基础集合的更改。 我需要在迭代时对集合进行更改。有许多模式可以用来避免这种情况,但是似乎没有一个好的解决方案: 不要在此循环内删除,而要保留一个单独的“删除列表”,在主循环后进行处理。 通常,这是一个很好的解决方案,但就我而言,我需要立即“等待”该项目,直到真正删除该项目的主循环改变了我的代码的逻辑流程。 无需删除该项目,只需在该项目上设置一个标志并将其标记为非活动即可。然后添加模式1的功能以清理列表。 这将满足我的所有需求,但是这意味着每次访问一个项目时,为了检查非活动标志,必须更改许多代码。按我的喜好,这太过分了。 以某种方式将模式2的思想纳入源自的类中List&lt;T&gt;。此超级列表将处理非活动标志,事实结束后的对象删除,也不会向枚举使用者显示标记为非活动的项目。基本上,它只是封装了模式2(以及随后的模式1)的所有思想。 是否存在这样的类?有人为此提供代码吗?或者,还有更好的方法? 有人告诉我,访问myIntCollection.ToArray()而不是myIntCollection可以解决问题,并允许我在循环内删除。 对我来说,这似乎是一种糟糕的设计模式,或者还好吗? 细节: 该列表将包含许多项目,我将仅删除其中一些。 …
86 c#  list  foreach  enumeration 


9
Visual Studio 2015非常慢
我已安装Visual Studio 2015专业版,并且我的计算机规格为Intel i7-3770 CPU 3.40 GHz,8 GB RAM和Windows 7 Enterprise 64位。 我想将项目升级到用Visual Studio 2005 .NET 2.0编写的.NET 4.6,但是我在速度方面存在严重的问题。当我在Visual Studio 2015中打开项目(大型项目)后,它就会发疯。构建,调试和打开菜单太慢。有时我收到“不响应”消息。是关于Windows 7还是您可以给我有关速度问题的任何建议?

15
在C#中对IList进行排序
所以我今天遇到了一个有趣的问题。我们有一个返回IList的WCF Web服务。在我想对其进行排序之前,这并不是什么大不了的事情。 事实证明,IList接口没有内置的排序方法。 我最终使用该ArrayList.Adapter(list).Sort(new MyComparer())方法解决了问题,但对我来说似乎有点“贫民窟”。 我玩弄了编写扩展方法的方法,也继承了IList并实现了自己的Sort()方法以及将其强制转换为List,但这些方法似乎都不是很优雅。 所以我的问题是,有人对IList进行排序是否有一种优雅的解决方案
86 c#  generics  sorting  ilist 

6
为什么Assert.AreEqual(T obj1,Tobj2)在相同的字节数组下失败
在以下代码段中,我有两个相同的字节数组: /// &lt;summary&gt; ///A test for Bytes ///&lt;/summary&gt; [TestMethod()] public void BytesTest() { byte[] bytes = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketData); TransferEventArgs target = new TransferEventArgs(bytes); byte[] expected = Encoding.UTF8.GetBytes(Properties.Resources.ExpectedPacketValue); byte[] actual; actual = target.Bytes; Assert.AreEqual(expected, actual); } 直到下一个字节,两个数组都是相同的。在这种情况下,为什么Assert.AreEqual失败?

3
在C#/。NET中合并两个图像
简单的想法:我有两张要合并的图像,一张是500x500,中间是透明的,另一张是150x150。 基本思想是:创建一个500x500的空白画布,将150x150图像放置在该空白画布的中间,然后将500x500图像复制到上面,以便透明的中间部分可以使150x150发光。 我知道如何在Java,PHP和Python中进行操作...我只是不知道在C#中使用哪些对象/类,只需将图像复制到另一个对象中即可。
86 c#  .net  image 

7
唯一字符串的有效列表C#
存储忽略任何重复项的字符串列表的最有效方法是什么?我以为字典最好通过写dict [str] = false来插入字符串。并通过按键列举一个列表。那是一个好的解决方案吗?
86 c#  unique-values 

6
无锁多线程是真正的线程专家
我正在阅读乔恩·斯凯特(Jon Skeet)对一个问题的回答,他在讲话中提到了这一点: 就我而言,无锁多线程是针对真正的线程专家的,我不是其中之一。 这不是我第一次听到此消息,但是如果您有兴趣学习如何编写无锁多线程代码,那么我发现很少有人谈论您的实际操作方式。 因此,我的问题除了学习关于线程的所有知识外,还从其他地方开始尝试专门编写无锁的多线程代码,以及哪些是很好的资源。 干杯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.