草庐IT

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

c# - 使用 Roslyn 获取 'var' 类型?

我有一个名为“test.cs”的.cs文件,它基本上看起来像:namespacetest{publicclassTestClass{publicvoidHello(){varx=1;}}}我试图用Roslyn解析它并获取x的类型,它应该是“int”,但我只能发现它的类型是“var”,我似乎无法获得实际的底层类型.这基本上就是我现在的代码varlocation="test.cs";varsourceTree=CSharpSyntaxTree.ParseFile(location);varroot=(CompilationUnitSyntax)sourceTree.GetRoot();fo

c# - var 与显式声明

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UseofvarkeywordinC#你好,刚换了工作,我习惯了经常使用var。在我之前的工作中,我们做了很多TDD并使用了resharper。在这项工作中,他们讨厌第三方工具,这里的开发人员说一直使用var并不好,而且效率不如显式键入。前段时间我也这么想,但现在我已经习惯了,它让我的代码看起来更整洁。我读过一些帖子,似乎对它是否有效感到困惑。我读到使用var会产生相同的IL代码。那么它不应该那么有效吗?我在其他地方读到,即使使用var生成相同的IL代码,它也必须找出它是什么类型。那么“推断”到底是什么意思呢

c# - 如何使用 Roslyn 声明 var 变量?

我有以下代码,但找不到如何获取varTypeSyntax。有什么想法吗?Syntax.LocalDeclarationStatement(declaration:Syntax.VariableDeclaration(type:Syntax.PredefinedType(Syntax.Token(SyntaxKind.VarKeyword)),variables:Syntax.SeparatedList(Syntax.VariableDeclarator(identifier:Syntax.Identifier(name))))));这会失败并出现一个参数异常:“关键字”

c# - 为什么 var 在 "foreach (var row in table.Rows)"中评估为 System.Object ?

当我输入此foreach语句时...foreach(varrowintable.Rows)...var的工具提示显示classSystem.Object我很困惑为什么它不是classSystem.Data.DataRow。(如果您想知道,是的,我的代码文件顶部有usingSystem.Data。)如果我显式声明类型,如...foreach(DataRowrowintable.Rows)...它工作正常,没有错误。如果我这样做...varnumbers=newint[]{1,2,3};foreach(varnumberinnumbers)...var的计算结果为structSystem.

javascript - 'let 和 'var' 在 Typescript 中是一样的吗?

我正在查看AngularJS2和Typescript,我决定用它做点什么来学习Typescript的基础知识。通过许多研究,我发现了关于模块、Typescript的好话题,其中之一是谈论“let”和“var”命令来声明变量;根据this问题,下面的Typescript代码应该只显示一个警告并在控制台中抛出一个错误:测试.ts:for(leti=0;i编译的test.js:for(vari=0;i但事实并非如此。编译器“忽略”“let”命令并将其变成“var”命令。为什么会这样?Typescript是否仅适用于类?我正在为“npmstart”使用AngularJS配置,所以它会自动编译我

javascript - 为什么 JavaScript 中的参数前面没有 var 关键字?

这可能是个愚蠢的问题,但为什么JavaScript中的函数参数前面没有var关键字?为什么:functionfooAnything(anything){return'foo'+anyThing;}而不是:functionfooAnything(varanything){return'foo'+anyThing;}我感觉答案是因为规范就是这么说的,但仍然... 最佳答案 大多数动态类型编程语言没有在参数列表中有明确的变量。var关键字的目的是区分“我正在设置一个现有变量”和“我正在创建一个新变量”,如varx=17;//newvari