jjzjj

c# - C# 7 中 Var 模式的使用

我在新的C#7中看到了这个var模式的例子if(oisvarx)Console.WriteLine($"it'savarpatternwiththetype{x?.GetType()?.Name}");justuse有什么不同:varx=o;Console.WriteLine($"it'savarpatternwiththetype{x?.GetType()?.Name}");当此模式成为有用的解决方案时。 最佳答案 该示例没有实际区别。不幸的是,很多网站都在使用它——甚至thelanguagereference.您使用xisvar

c# - 计算字符串开头的空格

这个问题在这里已经有了答案:GetIndexofFirstnon-WhitespaceCharacterinC#String(12个答案)关闭9年前。我如何计算C#中字符串开头的空格数量?例子:"thisisastring"结果将是4。不确定如何正确执行此操作。谢谢。

c# - 在 null IEnumerables 上为 Count() 返回零

我已经厌倦了使用这样的代码:varcount=0;if(myEnumerable!=null){count=myEnumerable.Count();}这有点迂腐:varcount=(myEnumerable??newstring[0]).Count();有没有更简洁的方法来做到这一点?我曾经在IEnumerable上有一个(名字不好的)PhantomCount扩展方法,它使用了我的第一个代码示例,但它有一些味道(除了名字之外)。 最佳答案 问题实际上出在创建这些可枚举对象的任何方面。除非你有充分的理由,否则任何生成可迭代集合的东西

c# - Array.Length 与 Array.Count

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:countvslengthvssizeinacollection在.NET中,几乎所有集合都有.Count属性。有时我想知道是否直接将它放在Array上,而不是通过ICollection会更好。这只是你在脑海中为数组做一个异常(exception)而已。那么在这种情况下是“更正确”还是“更统一”更好?

c# - 优化 LINQ Count() > X

这个问题在这里已经有了答案:EfficientLinqEnumerable's'Count()==1'test(7个答案)关闭6年前。问题:给定IEnumerable,如何检查包含超过x的序列项目?MCVE:staticvoidMain(string[]args){vartest=Test().Where(o=>o>2&&o1)//howtooptimizethis?foreach(vartintest)//consumerConsole.WriteLine(t);}staticIEnumerableTest(){for(inti=0;i这里的问题是什么Count()将运行完整的序列,

c# - 如何遍历 XML 文件中的每个子节点?

我有一个XML文件,我想遍历每个子节点收集信息。这是我的C#代码,它只选取一个节点,我想在其子节点上使用foreach的FieldData。publicvoidLoadXML(){if(File.Exists("Data.xml")){//ReadingXMLXmlDocumentxmlDoc=newXmlDocument();xmlDoc.Load("Data.xml");//ThinksomethingneedstoreferenceChildnodes,soimayForeachthoughthemXmlNodeListdataNodes=xmlDoc.SelectNodes("

c# - WMPLib : player. mediaCollection.getAll().count 始终为 0

我正在尝试编写代码以从用户的WindowsMediaPlayer库中读取每个项目。此代码适用于大多数用户,但对于某些用户,当他们的WindowsMediaPlayer库中显然有成百上千个项目时,getAll()将返回一个空列表。varplayer=newWindowsMediaPlayer();varcollection=player.mediaCollection;varlist=collection.getAll();inttotal=list.count;我通过添加对wmp.dll的COM引用来引用WMPLib命名空间。我的应用程序附带Interop.WMPLib.dll。某些用

c# - 为什么我的 string.indexof(char) 更快?

不要问我是怎么到那儿的,但我一直在玩弄一些掩码、循环展开等。无论如何,出于兴趣,我在考虑如何实现一个indexof方法,长话短说,所有除了屏蔽等,这个天真的实现:publicstaticunsafeintIndexOf16(strings,intstartIndex,charc){if(startIndex=s.Length)thrownewArgumentOutOfRangeException("startIndex");fixed(char*cs=s){for(inti=startIndex;i比string.IndexOf(char)快。我写了一些简单的测试,它似乎与输出完全匹配

c# - 参数计数不匹配

以下代码段有问题。我发现参数计数不匹配。由于多线程和不安全更新的问题,我不得不写这篇文章。delegatevoiddata_INPUTDelegate(objectsender,System.IO.Ports.SerialDataReceivedEventArgse);privatevoiddata_INPUT(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){stringdata=serialPort.ReadLine();string[]tokens=data.Split(':');if(tokens[0]=="$

c# - xunit 多次测试事实

我有一些方法依赖于一些随机计算来提出建议,我需要多次运行Fact以确保可以。我可以在我想测试的事实中包含一个for循环,但是因为有几个测试我想做这个我正在寻找一种更干净的方法,比如junit中的Repeat属性:http://www.codeaffine.com/2013/04/10/running-junit-tests-repeatedly-without-loops/我可以在xunit中轻松实现这样的功能吗? 最佳答案 您必须创建一个新的DataAttribute来告诉xunit多次运行相同的测试。这是一个遵循junit相同思