Questions tagged «c#»

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

4
如何遍历List <T>并抓住每个项目?
如何遍历列表并抓住每个项目? 我希望输出看起来像这样: Console.WriteLine("amount is {0}, and type is {1}", myMoney.amount, myMoney.type); 这是我的代码: static void Main(string[] args) { List&lt;Money&gt; myMoney = new List&lt;Money&gt; { new Money{amount = 10, type = "US"}, new Money{amount = 20, type = "US"} }; } class Money { public int amount { get; set; } public …
181 c#  for-loop  collections 

5
如何将此foreach代码转换为Parallel.ForEach?
我有些困惑Parallel.ForEach。 是Parallel.ForEach什么,它的作用是什么? 请不要引用任何MSDN链接。 这是一个简单的例子: string[] lines = File.ReadAllLines(txtProxyListPath.Text); List&lt;string&gt; list_lines = new List&lt;string&gt;(lines); foreach (string line in list_lines) { //My Stuff } 如何用重写这个示例Parallel.ForEach?

7
如何在单元测试中比较列表
该测试如何失败? [TestMethod] public void Get_Code() { var expected = new List&lt;int&gt;(); expected.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 }); var actual = new List&lt;int&gt;(); actual.AddRange(new [] { 100, 400, 200, 900, 2300, 1900 }); Assert.AreEqual(expected, actual); // Assert.AreSame(expected, actual) fails // Assert.IsTrue(expected.Equals(actual)) fails }

10
VS 2017中的类图
我一直在使用VS 2015,并且喜欢“类图”项。我最近升级到2017年,似乎找不到“类图”项。有人知道我该怎么做吗?



18
测试字符串是否为GUID而不抛出异常?
我想尝试将字符串转换为Guid,但是我不想依赖于捕获异常( 出于性能原因-异常代价高昂 出于可用性原因-调试器弹出 出于设计原因-预期并非例外 换句话说,代码: public static Boolean TryStrToGuid(String s, out Guid value) { try { value = new Guid(s); return true; } catch (FormatException) { value = Guid.Empty; return false; } } 不适合。 我会尝试使用RegEx,但是由于guid可以用括号括起来,括号括起来,没有任何包裹,因此很难。 另外,我认为某些Guid值无效(?) 更新1 ChristianK有个好主意,那就是只抓FormatException,而不是全部。更改了问题的代码示例以包含建议。 更新2 为什么要担心引发异常?我真的经常会遇到无效的GUID吗? 答案是肯定的。这就是为什么我使用TryStrToGuid -我很期待坏数据。 示例1 可以通过将GUID附加到文件夹名称来指定名称空间扩展名。我可能正在解析文件夹名称,检查是否在final后面的文本。是GUID。 c:\Program Files c:\Program Files.old c:\Users c:\Users.old …
180 c#  string  parsing  guid 

11
Visual Studio C#语句崩溃
当编辑非常长的代码块时(无论如何绝对应该对其进行重构,但这超出了此问题的范围),我经常渴望能够折叠语句块,就像可以折叠功能块一样。也就是说,如果减号图标出现在大括号中所有内容的代码轮廓上,那将是很好的。它似乎出现在函数,类,区域,名称空间,用法中,但没有出现在条件或迭代块中。如果我可以折叠诸如ifs,switch,foreach之类的东西,那将是很棒的事情! 仔细研究一下,我发现显然VS中的C ++概述允许这样做,但VS中的C#概述则不允许。我真的不明白为什么。如果我选择C#格式,即使notepad ++也会使这些折叠崩溃,所以我不明白为什么Visual Studio不这样做。 有谁知道将启用此行为的VS2008加载项?还是某种隐藏设置? 编辑添加:插入区域当然是一个选项,对我而言确实已经发生了,但是坦率地说,我不必将东西包裹在已经用大括号包裹的区域中……如果我要编辑现有代码,我只是将其重构为可以更好地分离关注点。(用新方法而不是区域“包装”;)

6
什么时候应该在C#方法名称中使用“ Try”?
我们正在与我们的同事讨论方法名称以“ Try”开头的含义。 有以下意见: 当方法可以返回空值时,请使用“尝试”。 该方法不会引发异常时,请使用“尝试”。 官方定义是什么?方法名称中的“尝试”是什么意思?是否有关于此的官方指南?

20
导入和导出Excel-最好的库是什么?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使它成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 在C#中的一个ASP.NET应用程序中,我们进行某些数据收集(SubSonic收集)并将其导出到Excel。我们还希望以特定格式导入Excel文件。我正在寻找可用于此目的的库。 要求: Excel 2007文件(Excel 2003是否支持超过64k行?我还需要更多。) 在服务器上不需要Excel 接受类型化的集合,如果可以的话,尝试将数字字段作为Excel中的数字放置。 适用于大型文件(100k至10M)-足够快。 导出GUID时不会崩溃! 无需花钱(没有像aspose那样的企业库)。自由永远是伟大的,但可以成为商业图书馆。 您推荐什么图书馆?您是否将其用于大量数据?还有其他解决方案吗? 现在,我正在使用一个简单的工具来生成HTML,稍后再由Excel加载该HTML,但是我却失去了一些功能,加上Excel在加载它时会抱怨。我不需要生成图表或类似的东西,只需导出原始数据即可。 我正在考虑平面CSV文件,但是Excel是客户要求。如果我有可以与Excel相互转换的工具,则可以直接使用CSV。鉴于Excel 2007是基于xml(和压缩文件)的文件格式,我想这种类型的库应该很容易找到。但是,对我来说最重要的是您的评论和意见。 编辑:具有讽刺意味的是,在我看来,按照投票数最多的答案,最好的Excel导入和导出库根本没有导出。并非所有情况都如此,但我的情况如此。XLS文件仅支持64k行。XLSX最多支持1M。我尝试的免费库的性能很差(当您有200k行时,一秒钟才加载一行)。我没有尝试过付费服务,因为当您需要快速的XLSX &lt;-&gt; CSV转换例程时,我觉得它们为它们提供的价值高估了。

15
有没有一种方法可以导航到接口背后的方法的实际实现?
在Visual Studio中,当您右键单击一个方法调用时,您将在类内转到该方法的实现,除非通过接口访问此方法:在这种情况下,将转到接口方法而不是实际的实现。 是否有访问此实际实现的方法/提示(快捷键或其他方法)?否则,您将不得不添加一些评论,只是想记住您在哪里实现了它,但实际上并没有效率并且容易出错! 更新:有趣的答案,但我并不真正满意,因为所有这些都很麻烦。我将举一个精确的例子: IInterface iInterface = someObject; iInterface.someMethod(); 实际上,如果Visual Studio稍微聪明一点,只在方法调用上方看一行,它将看到实际对象在哪里。这样可以节省很多击键次数,避免使用“查找所有引用”,然后用疲倦的眼睛扫描各行以查看哪一行包含正确的行:)
180 c#  .net  vb.net  visual-studio 

15
未经授权的webapi调用返回登录页面而不是401
如何配置我的mvc / webapi项目,以使从剃刀视图调用的webapi方法在未经授权时不返回登录页面? 它是一个MVC5应用程序,还具有用于通过javascript进行调用的WebApi控制器。 下面的两种方法 [Route("api/home/LatestProblems")] [HttpGet()] public List&lt;vmLatestProblems&gt; LatestProblems() { // Something here } [Route("api/home/myLatestProblems")] [HttpGet()] [Authorize(Roles = "Member")] public List&lt;vmLatestProblems&gt; mylatestproblems() { // Something there } 通过以下角度代码调用: angular.module('appWorship').controller('latest', ['$scope', '$http', function ($scope,$http) { var urlBase = baseurl + '/api/home/LatestProblems'; $http.get(urlBase).success(function (data) { $scope.data = data; }).error(function (data) { …

7
如何删除OR'd枚举的项目?
我有一个像这样的枚举: public enum Blah { RED = 2, BLUE = 4, GREEN = 8, YELLOW = 16 } Blah colors = Blah.RED | Blah.BLUE | Blah.YELLOW; 如何从可变颜色中删除蓝色?
180 c#  enums 

8
将内容放在HttpResponseMessage对象中?
几个月前,Microsoft决定更改HttpResponseMessage类。以前,您可以简单地将数据类型传递到构造函数中,然后返回带有该数据的消息,但不再返回。 现在,您需要使用Content属性来设置消息的内容。问题是它的类型为HttpContent,而且我似乎找不到找到将字符串转换为HttpContent的方法。 有谁知道如何处理这个问题?非常感谢。

11
通过字符串获取C#动态属性的值
我想dynamic使用字符串访问c#属性的值: dynamic d = new { value1 = "some", value2 = "random", value3 = "value" }; 如果我仅将“ value2”作为字符串,如何获取d.value2的值(“随机”)?在javascript中,我可以执行d [“ value2”]来访问值(“随机”),但是我不确定如何使用c#和反射来做到这一点。我最接近的是: d.GetType().GetProperty("value2") ...但是我不知道如何从中获得实际价值。 一如既往,感谢您的帮助!
180 c#  dynamic 

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.