草庐IT

C# ref 关键字用法

我理解(或者至少我相信我理解)通过ref将类的实例传递给方法与不通过ref传递是什么意思。什么时候或在什么情况下应该通过ref传递类实例?对于类实例使用ref关键字是否有最佳实践? 最佳答案 我遇到过的关于输出和引用参数的最清晰的解释是......JonSkeet的。ParameterPassinginC#他没有深入探讨“最佳实践”,但如果您理解他给出的示例,就会知道何时需要使用它们。 关于C#ref关键字用法,我们在StackOverflow上找到一个类似的问题:

C# var 关键字用法

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:Whattouse:varorobjectnametype?UseofvarkeywordinC#What’sthepointofthevarkeyword?ShouldIalwaysfavourimplictlytypedlocalvariablesinC#3.0?我刚刚安装了ReSharper的试用版,以便为我的公司对其进行评估。我注意到的一件事是它建议我更改以下内容(虚构的示例):strings="";到vars="";声明变量时使用var关键字而不是使用对象类型是最佳做法吗?它有什么优势。就上下文而

C# 'ref' 关键字,性能

如果您有一个Bitmap对象需要传递给许多方法(大约10个),最后传递给一个事件,在该事件中它最终将在使用后被处理掉,将它传递给(性能方面)是否有益这些方法中的每一个都是通过引用而不是值?按值传递,对象被复制,按引用传递它不是。(在这种情况下性能至关重要。应用程序需要尽可能快地运行。) 最佳答案 位图是一种引用类型。按值传递引用类型不会复制对象,而只是复制对对象的引用。通过引用而不是通过值传递位图不会带来性能优势。 关于C#'ref'关键字,性能,我们在StackOverflow上找到一

c# - 什么时候不要使用 'this' 关键字?

不好意思再问了,这个关键词已经有一些问题了。但都道出了“这个”的目的。WhendoyouusethiskeywordC#whentousethiskeywordUseof“this”keywordinformalparametersforstaticmethodsinC#Properusageof“this.”keywordinC#?我的问题是什么时候不使用'this'关键字。或者像代码这样的情况一直用this关键字可以吗classRssReader{privateXmlTextReader_rssReader;privateXmlDocument_rssDoc;privateXmlN

c# - 在 C# 中什么都不做关键字?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。C#中是否有“什么都不做”的关键字?例如,我想使用一个三元运算符,其中一个操作是不采取任何操作:officeDict.ContainsKey("0")?DONOTHING:officeDict.Add("0","")

c# - 泛型类型值和 '==' 关键字的 'default' 运算符的行为是什么?

问题的第1部分:在下面的代码中,为什么value==default可以正常编译,而其他替代方案却不能?boolMyEqual(Tvalue){Tvalue2=default;if(value==value2)//Error:Operator'=='cannotbeappliedtooperandsoftype'T'and'T'returntrue;if(value==default(T))//Error:Operator'=='cannotbeappliedtooperandsoftype'T'and'T'returntrue;if(value==default)//Noerrorre

c# - 在 C# 的 Dynamic Linq 中使用 "Contains"关键字查询数据

在C#的动态linq中执行具有“包含”关键字的查询时,我遇到了一些问题。我收到以下错误“Int32”类型中不存在任何属性或字段我的代码如下:如果我为数据类型字符串字段使用“包含”关键字,那么它可以正常工作,如下所示string[]CandidateNamesArray=newstring[]{"Ram","Venkat","Micheal"}vardynamicLinqQuery=Candidates.Where("CandidateName.Contains(@0)",CandidateNamesArray);工作正常但是如果我对数据类型int字段使用“Contains”关键字,那么

C# - 真的需要 "volatile"作为关键字吗?

随着我越来越深入地了解volatile关键字的含义,我一直对自己说“这是实现的方式,这不应该是一种高级编程语言”。我的意思是,CPU缓存数据这一事实对于JIT编译器来说应该很有趣,而不是C#程序员。一个重要的替代方案可能是属性(例如,VolatileAttribute)。你怎么看? 最佳答案 我觉得你走偏了。所有关于缓存等技术的东西都是试图用低层次的术语来解释它的一部分。volatile的功能描述是“我可能会被共享”。鉴于默认情况下线程之间无法共享任何内容,这并不奇怪。而且我认为基本足以保证在属性上使用关键字,但我认为它在很大程度上

c# - Nerd Dinner 教程中 C# yield 关键字的有趣用法

在完成教程(专业ASP.NETMVC-Nerd晚餐)时,我遇到了这段代码:publicIEnumerableGetRuleViolations(){if(String.IsNullOrEmpty(Title))yieldreturnnewRuleViolation("Titlerequired","Title");if(String.IsNullOrEmpty(Description))yieldreturnnewRuleViolation("Descriptionrequired","Description");if(String.IsNullOrEmpty(HostedBy))yi

c# - 为什么 dynamic 关键字不能用于动态加载的程序集?

我正在开发一个CSharp表达式求值器,您可以在下面看到它的用途。该组件生成代码并在内存中对其进行编译,然后加载生成的程序集,创建生成类的实例并运行它。结果保存在字典中。我的问题是所有运行正常,直到最后一行代码失败并出现异常:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'object'doesnotcontainadefinitionfor'FirstName'.但是,VisualStudio能够向我展示专业的变量内容:Professional={FirstName=JuanPablo,LastName=Ibañez,Cer