Questions tagged «c#»

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

23
什么更快,打开字符串或其他类型?
可以说,我可以选择基于字符串比较来确定要采用的代码路径,也可以选择类型: 哪个更快,为什么? switch(childNode.Name) { case "Bob": break; case "Jill": break; case "Marko": break; } if(childNode is Bob) { } elseif(childNode is Jill) { } else if(childNode is Marko) { } 更新:我问这的主要原因是因为switch语句对什么是案例很明确。例如,它不允许您使用变量,而只能使用常量,这些常量将被移至主程序集。我认为它有此限制是因为它正在执行一些时髦的操作。如果仅翻译为elseifs(如一位张贴者所评论),那么为什么在case语句中不允许使用变量? 警告:我正在优化。这种方法被称为许多在应用程序的缓慢一部分倍。
77 c#  performance 

5
名称中不能包含':'字符,十六进制值0x3A
我有一个包含其元素的xml文件,例如 <ab:test>Str</ab:test> 当我尝试使用代码访问它时: XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault(); 这给了我这个错误: System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> System.Xml.XmlException:名称中不能包含':'字符,十六进制值0x3A。 我应该如何访问?
77 c#  xml  linq  linq-to-xml 

5
VS2010在Windows 64位版本的WinForms应用程序中不会显示未处理的异常消息
创建新项目时,未处理的异常会产生奇怪的行为。这是我可以重现此问题的方法: 1)创建一个新的Windows窗体应用程序(C#、. NET Framework 4,VS2010) 2)将以下代码添加到Form1_Load处理程序中: int vara = 5, varb = 0; int varc = vara / varb; int vard = 7; 我希望VS中断并在第二行显示未处理的异常消息。但是,发生的情况是,仅跳过了第三行而没有任何消息,并且应用程序继续运行。 我现有的C#项目没有这个问题。所以我想我的新项目是用一些奇怪的默认设置创建的。 有谁知道我的项目有什么问题吗??? 我尝试选中“调试”->“异常”中的复选框。但是,即使我在一个try-catch块中处理异常,执行也会中断;这也不是我想要的。如果我没记错的话,此对话框中有一列“未处理的异常”或类似的内容,它们可以满足我的要求。但是在我的项目中,只有一列(“ Thrown”)。

6
反思以识别扩展方法
在C#中,有没有一种使用反射的技术来确定某个方法是否已作为扩展方法添加到类中? 给定一种扩展方法(例如以下所示),是否可以确定Reverse()已添加到字符串类? public static class StringExtensions { public static string Reverse(this string value) { char[] cArray = value.ToCharArray(); Array.Reverse(cArray); return new string(cArray); } } 我们正在寻找一种在单元测试中确定开发人员是否适当添加了扩展方法的机制。尝试执行此操作的一个原因是,开发人员可能会将类似的方法添加到实际类中,如果是这样,则编译器会选择该方法。

6
C#条件AND(&&)或(||)优先
我们一直在工作中遇到不必要的编码参数。今天,我问条件AND(&&)或OR(||)是否具有更高的优先级。我的一位同事坚持认为他们的优先级相同,我对此表示怀疑,因此我进行了查找。 根据MSDN,AND(&&)的优先级高于OR(||)。但是,您可以向一个持怀疑态度的同事证明吗? http://msdn.microsoft.com/zh-CN/library/aa691323(VS.71).aspx bool result = false || true && false; // --> false // is the same result as bool result = (false || true) && false; // --> false // even though I know that the first statement is evaluated as bool result = false || (true && …

6
C#中的C ++联合
我正在将用C ++编写的库转换为C#,并且关键字“联合”存在一次。在结构中。 将其转换为C#的正确方法是什么?它是做什么的?看起来像这样; struct Foo { float bar; union { int killroy; float fubar; } as; }
77 c#  c++  unions 

14
大型Switch语句:糟糕的OOP?
我一直认为,大型switch语句是OOP设计不良的征兆。过去,我已经阅读了讨论该主题的文章,他们提供了基于OOP的替代方法,通常基于多态来实例化处理案例的正确对象。 我现在处在一个奇怪的switch语句的情况下,该语句基于来自TCP套接字的数据流,该协议中的协议基本上由换行符终止命令,随后的数据行和结束标记组成。该命令可以是100个不同命令中的一个,因此我想找到一种方法来将此怪物切换语句减少为更易于管理的内容。 我已经进行了一些谷歌搜索来找到我记得的解决方案,但是可悲的是,如今,对于许多类型的查询,谷歌已经变成了无关紧要的结果。 有没有解决此类问题的模式?关于可能的实现有什么建议吗? 我曾经想到的是使用字典查找,将命令文本与要实例化的对象类型进行匹配。这具有仅创建一个新对象并为任何新命令在表中插入新命令/类型的优点。 但是,这也存在类型爆炸的问题。现在,我需要100个新类,此外,我还必须找到一种将它们与数据模型完全接口的方法。“一个真正的转换声明”真的可行吗? 非常感谢您的想法,意见或评论。



14
if语句匹配多个值
还有什么更简单的方法来编写此if语句? if (value==1 || value==2) 例如...在SQL中,您可以说 where value in (1,2)而不是where value=1 or value=2。 我正在寻找适用于任何基本类型的东西...字符串,整数等。
77 c#  if-statement 

9
计算页数的最简单公式?
我有一个数组,我想根据预设的页面大小将它们分为页面。 这是我的方法: private int CalcPagesCount() { int totalPage = imagesFound.Length / PageSize; // add the last page, ugly if (imagesFound.Length % PageSize != 0) totalPage++; return totalPage; } 我觉得计算不是最简单的(我的数学很差),您能给一个简单的计算公式吗?
77 c#  pagination 

12
Html.EditorFor设置默认值
新秀问题。我有一个参数传递给创建视图。我需要使用默认值设置一个字段名称。@ Html.EditorFor(model => model.Id)我需要将此输入字段设置为名称ID,并将其默认值通过动作链接传递给视图。 因此,如何使用默认值设置此输入字段-@ Html.EditorFor(model => model.Id)。 请问以下工作?在数字5是参数的情况下,我将输入文本字段以设置默认值。 @Html.EditorFor(c => c.PropertyName, new { text = "5"; })


9
将Unicode字符串转换为转义的ASCII字符串
如何转换此字符串: This string contains the Unicode character Pi(π) 转换为转义的ASCII字符串: This string contains the Unicode character Pi(\u03a0) 和反之亦然? C#中当前可用的编码将π字符转换为“?”。我需要保留那个角色。
77 c#  unicode  encoding 

4
LINQ中的升/降-可以通过参数更改顺序吗?
我有一个给定参数“ bool sortAscending”的方法。现在,我想使用LINQ根据此参数创建排序列表。然后我得到了: var ascendingQuery = from data in dataList orderby data.Property ascending select data; var descendingQuery = from data in dataList orderby data.Property descending select data; 如您所见,两个查询的区别仅在于“升序”。“下降”。我想合并两个查询,但是不知道如何合并。有人知道答案吗?
77 c#  linq 

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.