草庐IT

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# - string str 和 string str=null 的区别

我想知道当我们声明一个变量时内部到底发生了什么,就像这样:stringtr;stringtr=null;在调试时,我注意到这两个值都只显示空值。但是当使用reftr而不初始化null时,它会给出错误,而第二行不会。请帮助我深入了解它 最佳答案 你的第一条语句只是声明,你的第二条语句是声明+初始化。stringtr;//JustDeclarationstringtr=null;//Declaration+Initialization.如果您尝试仅在声明中使用tr,您可能会遇到编译时错误。(第一种情况)例如:stringtr;//Jus

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;为什么?