草庐IT

do-loops

全部标签

c# - Visual Studio 代码分析规则 - "Do not expose generic lists"

Donotexposegenericlists如果我所有的方法都需要公开一个集合,那么我需要使用LinqExtension.ToList(),几乎所有我需要使用列表的地方,或者我所有代码中的用户集合。如果是这样的话,.ToList()是在忽略规则吧?或者是否有一种技术,例如复制列表o来解决违规问题并仍然返回列表? 最佳答案 我禁用了该规则,因为我觉得它无效。如果你想返回一个包含O(1)的集合count并且不是对内部字段的直接引用,List是最好的选择。我不太了解您的情况,但听起来您有一种方法可以返回对某些内部数据的LINQ查询。如果

c# - C++/命令行界面 : How do I declare abstract (in C#) class and method in C++/CLI?

以下C#代码在C++/CLI中的等价物是什么?publicabstractclassSomeClass{publicabstractStringSomeMethod();} 最佳答案 只需稍微混合关键字即可获得正确的语法。abstract在C#中位于前面,但在C++/CLI中位于末尾。与override关键字相同,今天也被C++11兼容的编译器识别,它们期望它位于函数声明的末尾。就像传统C++中的=0标记函数抽象一样:publicrefclassSomeClassabstract{public:virtualString^SomeM

C#,在 for..loop 中声明一个变量,它会降低性能吗?

这个问题在这里已经有了答案:Referencetypevariablerecycling-isanewreferencevariablecreatedeveryloopinaloopifdeclaredtherein?(3个答案)关闭6年前。例如:for(i=0;i它会导致性能或内存泄漏吗?为什么我这样做,因为我不想在for..loop之外访问“myvar”。它是任何性能监视器,我可以比较两个片段或整个程序之间的执行时间?谢谢。

C# 代码简化查询 : The Null Container and the Foreach Loop

我经常有这样的代码:if(itm!=null){foreach(typexinitm.subItems()){//dostuff}}//domorestuff在省略//domorestuff的情况下,很容易避免额外的foreach循环。通过使用适当的命令退出作用域(根据发生的情况,这通常意味着return语句或continue语句)。这种类型的东西往往会导致箭头代码。我目前有几种方法来处理这个问题:使用itm=itm==null这样的代码?itm.subItems():空数组允许箭头代码使用goto使用邪恶的范围黑客(将整个事情,所有的if语句包装在一个范围内,然后突破它)。在我看来,

c# - Elasticsearch 和 NEST : How do you purge all documents from an index?

我知道如何deleteanentireElasticSearchindex,但是如何从索引中清除所有文档?我的动机:我想要一个“ReIndex”方法来清除索引的全部内容,以便我可以重新加载所有文档。ElasticSearch语法会很有帮助。NEST语法会更好。 最佳答案 我在Nest中寻找类似的东西,我想我应该把语法放在这里供任何人寻找:varnode=newUri("http://localhost:9200");varsettings=newConnectionSettings(node);varclient=newElasti

c# - "do"/Action LINQ 运算符有什么计划吗?

这是一个带有foreach循环的简单方法:IEnumerableFieldsToXElements(objectinstance){varfieldElements=newList();foreach(varfieldininstance.GetType().GetFields(instance)){fieldElements.Add(newXElement(field.Name,field.GetValue(instance)));}returnfieldElements;}有点丑。如果LINQ中有一些运算符表示“做某事”(例如,为LINQ语句中的每个选定项执行Action),它看起

c# - ASP.NET MVC : How do I display multiline text?

查看模型:publicclassNote{[DataType(DataType.MultilineText)]publicstringText{get;set;}}默认编辑器模板呈现保留换行符的元素。默认显示模板将文本呈现为删除换行符的单个字符串。我试过了,但没用:~/Views/Shared/EditorTemplates/MultilineText.cshtml@modelstring@Html.Raw(Model.Replace(System.Environment.NewLine,""))我可以做一些傻事,比如@Html.Raw(Model.Replace("e",""))它会

c++-cli - C++/CLI-问题: Is there an equivalent to the C# "is" keyword or do I have to use reflection?

我在MSDN的某个地方读到过,与C#的“is”关键字等效的是dynamic_cast,但这并不完全等效:它不适用于值类型或泛型参数。例如在C#中我可以写:voidMyGenericFunction(){objectx=...if(xisT)...;}如果我尝试“等效的”C++/CLI:genericvoidMyGenericFunction(){objectx=...if(dynamic_cast(x))...;}我收到编译器错误“errorC2682:cannotuse'dynamic_cast'toconvertfrom'System::Object^'to'T'”。我唯一能想到的

c# - Windows Phone 8.1 (WinRT) : Custom Looping Selector

我想要为我的WindowsPhone8.1(WinRT)使用自定义循环选择器,目前我找不到任何解决方案。我想要这样的东西:WindowsPhoneToolkit适用于WP8.0和WP8.1Silverlight,不适用于WP8.1(WinRT)应用程序(thisquestion适用于WP8.1Silverlight)。有DatePicker&TimePickerWP8.1的控件。有没有什么方法可以自定义他们的数据或用什么方法来欺骗控件来解决我的问题?有一个LoopingSelector类,但它似乎还没有实现。任何解决方案或想法将不胜感激。 最佳答案

c# - 我试图理解我反射(reflect)过的微软的 Do​​ubleUtil.AreClose() 代码

如果您反射(reflection)WindowsBase.dll>MS.Internal.DoubleUtil.AreClose(...),您将获得以下代码:publicstaticboolAreClose(doublevalue1,doublevalue2){if(value1==value2){returntrue;}doublenum2=((Math.Abs(value1)+Math.Abs(value2))+10.0)*2.2204460492503131E-16;doublenum=value1-value2;return((-num2num));}我试图理解两件不同的事情: