草庐IT

字段中

全部标签

C# - 初始化程序中类字段的闭包?

考虑以下代码:usingSystem;namespaceConsoleApplication2{classProgram{staticvoidMain(string[]args){varsquare=newSquare(4);Console.WriteLine(square.Calculate());}}classMathOp{protectedMathOp(Funccalc){_calc=calc;}publicintCalculate(){return_calc();}privateFunc_calc;}classSquare:MathOp{publicSquare(intoper

c# - 如何使 Html.CheckBoxFor() 在字符串字段上工作?

我将ASP.NETMVC3与Razor和C#结合使用。我正在制作一个表单生成器,所以我有一个包含以下对象集合的模型:publicclassMyFormField{publicstringName{get;set;}publicstringValue{get;set;}publicMyFormTypeType{get;set;}}MyFormType只是一个枚举,它告诉我表单字段是复选框、文本框、文件上传还是其他。我的编辑器模板看起来像这样(见评论):~/Views/EditorTemplates/MyFormField.cshtml@modelMyFormField@{switch(M

c# - 在按钮中添加 OnClientClick 时必填字段验证器不起作用

嗨,我有一个像这样的RequiredFieldValidator还有一个像这样的按钮现在的问题是,如果我删除按钮中的OnClientClick,RequriedFieldValidator可以正常工作,如果我将它放回页面回发而不显示任何错误消息,有人可以解释为什么会发生这种情况吗? 最佳答案 尝试使用这段代码,它会对你有所帮助functionvalidate(){if(Page_ClientValidate())returnconfirm('AreyousurewanttoBlockthisuser?');}

c# - 是否可以强制自动属性使用只读支持字段?

我的项目包含大量具有属性的类,这些属性的支持字段标记为只读,因为它们仅在构造时设置。就风格而言,我喜欢使用自动属性,因为它消除了很多样板代码并鼓励使用属性成员而不是支持字段。但是,当使用自动属性时,我失去了支持字段的“只读性”。我知道当以这种方式标记字段时,编译器/运行时能够利用一些性能增强功能,因此我希望能够将我的自动属性标记为只读,如下所示:[ReadOnly]publicstringLastName{get;}而不是privatereadonlystring_LastName;publicstringLastName{get{return_LastName;}}是否已经有某种机制

c# - list<T> 字段的平均计数

我有A的列表,我想计算它的字段a的平均值。最好的方法是什么?classA{inta;intb;}voidf(){varL=newList();for(inti=0;i 最佳答案 Enumerable.Average有一个需要Func的重载作为论点。usingSystem.Linq;list.Average(item=>item.a); 关于c#-list字段的平均计数,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c# - 在显式构造函数之外初始化字段是不好的做法吗

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Initializeclassfieldsinconstructororatdeclaration?我们正在争论编码实践。这里的例子有点太简单了,但真正的交易有几个构造函数。为了初始化简单值(例如,将日期设置为最小值),我已将代码从构造函数中移出并移入字段定义中。publicclassConstructorExample{string_string="John";}publicclassConstructorExample2{string_string;publicConstructorExample2(){

c# - 比较 2 个对象并检索具有不同值的字段列表

给定一个包含35个字段的类和2个具有一定数量不同字段值的对象。有没有一种聪明的方法来获得一个list对象所在的字段名称如下?例如obj1.Name="aaa";obj1.LastName="bbb";obj1.Address="xcs";obj2.Name="aaa";obj2.LastName="ccc";obj2.Address="jk";目标:listString>containing2StringsLastNameandAddress我认为反射是可行的方法,但我担心35个字段太重了。还有其他想法吗,比如linq? 最佳答案

c# - 属性比字段慢

似乎我遇到的每篇文章都达成了相同的共识:仅返回字段的属性由JIT内联并且具有与字段几乎相同的性能。但是,我目前的情况似乎并非如此。我的程序进行密集计算,访问许多简单的自动getter和私有(private)setter的属性。然而,在这种特殊情况下,我只是复制一个对象。在启用优化的Release模式下分析代码会导致多次调用属性的get函数。对Copy()的调用总计约5.6毫秒。但是,当属性被转换为字段时,该函数的运行速度比使用属性快6倍:与使用字段相比,比较两个属性的相等性似乎会导致更多的性能损失。这是一个类的IEquatable实现的基准测试,使用相同的代码但将属性与字段交换。如果J

c# - 基类包含字段但类型与控件类型不兼容

Thebaseclassincludesthefield'lbl',butitstype(web.App_Code.CustomLabelControl)isnotcompatiblewiththetypeofcontrol(web.App_Code.CustomLabelControl).我以前用同样的方法做过很多自定义控件,但今天我遇到了这个错误。我有一个Web应用程序项目,在App_Code目录中有以下类,在web.config中为类中的控件引用了一个标签前缀。我现在该怎么办?Web.Config...标记类文件namespaceweb.App_Code{publicclassC

c# - 为什么(或不是)在构造函数中设置字段是线程安全的?

假设您有一个像这样的简单类:classMyClass{privatereadonlyinta;privateintb;publicMyClass(inta,intb){this.a=a;this.b=b;}publicintA{get{returna;}}publicintB{get{returnb;}}}我可以以多线程方式使用这个类:MyClassvalue=null;Task.Run(()=>{while(true){value=newMyClass(1,1);Thread.Sleep(10);}});while(true){MyClassresult=value;if(resul