草庐IT

c# - 在 C# 2.0 中使用关键字 var 不好吗?

我读了一篇关于usingC#3featuresinC#2的文章例如,您可以在其中键入varx=2;,即使该项目是2.0项目,VisualStudio2008编译器也会选择它并生成与键入时相同的代码intx=2.但我不明白的是,在某些情况下您是否应该不这样做?我一直认为var关键字直到C#3才出现。如果编译器生成相同的代码并且我可以键入完全相同的C#3代码和C#2代码,那么究竟有什么区别,因为CLI是一样的,对吧?引用上面的链接Behindthescenes,thecompilergenerateregular.NET2.0code..NET2.0代码和.NET3代码之间有什么区别吗?

C# var 关键字用法

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

c# - 在C#中将 'var'的值初始化为null

这个问题在这里已经有了答案:Howtoinitializevar?(11个答案)关闭8年前。我想给一个变量赋初值null,并在下一个if-elseblock中赋值,但是编译器报错,Implicitly-typedlocalvariablesmustbeinitialized.我怎样才能做到这一点?

c# - var 与具体类型用法

这个问题在这里已经有了答案:UseofvarkeywordinC#(86个答案)Differencebetween"var"and"object"inC#[duplicate](6个答案)WhydoesReSharperwanttouse'var'foreverything?[duplicate](23个回答)关闭9年前。我已经在stackoverflow中检查了5个或更多关于var使用的帖子,但我仍在寻找关于var使用的答案。我习惯使用具体类型而不是var,但我的Resharper提示要更改为var。var是类型的选择-即使具体类型已知?

c# - C# 中的 PHP var_dump 转储数组或对象?

这个问题在这里已经有了答案:Whatisthe.NETequivalentofPHPvar_dump?(5个答案)关闭6年前。我需要转储数组或对象的内容,我很想知道在C#中是否有类似于PHP指令var_dump的内容。目标是不构建循环来使用数组或对象的每个属性或内容,并使用Console.WriteLine进行打印。

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# - 类中的 var 给出错误

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UsingvaroutsideofamethodclassA{stringX;}//ProperclassA{varX;}//Improper(giveserror)为什么,我不能在类中声明var类型的变量,可以做些什么来实现它,或者有什么替代方法?在函数/方法中,我可以声明一个var类型的变量,那为什么不能,我在类中声明?谢谢。

c# - 将两个 Linq 查询的结果组合成一个 Var?

我有两个不同的数据库,其中包含两个设计完全相同的表。如何最有效地组合这两个查询的结果?我知道我可以将每个结果放入字典或数组或其他任何东西中,但我想有一种更简单的方法可以做到这一点。vardb1=//Adatabaseobjectconnectedtodatabase1vardb2=//Adatabaseobjectconnectedtodatabase2varresult1=db1.table.where(a=>a.value>0);varresult2=db2.table.where(a=>a.value>0);varresultSum=result1+result2;//???谢谢

c# - 双问号 ('??' ) 与分配相同 var 时的对比

引用以下SEanswer.写作时A=A??B;和一样if(null!=A)A=A;elseA=B;那是什么意思if(null==A)A=B;在性能方面会是首选吗?或者当同一对象处于??表示法时,我可以假设编译器优化了代码吗? 最佳答案 不用担心性能,它可以忽略不计。如果您对此感到好奇,请编写一些代码使用Stopwatch测试性能并查看。不过,我怀疑您需要进行几百万次迭代才能开始看到差异。您也永远不能假设事物的实现,它们将来可能会发生变化-使您的假设无效。我的假设是性能差异可能非常非常小。我个人会选择空合并运算符以提高可读性,它很好,

c# - 为什么我不能在 C# 中使用 var 声明常量?

这个问题在这里已经有了答案:Type-inferringaconstantinC#(11个答案)关闭9年前。这个:constinta=5;编译得很好,而constvara=5;不会...而:vara=5;编译和这个一样好:inta=5;为什么?