implicit-typing相关内容

隐式输入;为什么只是局部变量?

有谁知道或想推测为什么隐式类型仅限于局部变量? var thingy = new Foo(); 但为什么不... var getFoo() {返回新的 Foo();} 解决方案 Eric Lippert 就此主题撰写了整篇博文. https://docs.microsoft.com/en-us/archive/blogs/ericlippert/why-no-var-on-fiel ..
发布时间:2021-12-13 20:56:17 C#/.NET

为什么不能将匿名方法分配给 var?

我有以下代码: Func比较器 = 委托(字符串值){返回值!=“0";}; 但是,以下内容无法编译: var comparer = delegate(string value) {返回值!=“0";}; 为什么编译器不能确定它是一个Func?它接受一个字符串参数,并返回一个布尔值.相反,它给了我错误: 无法将匿名方法分配给隐式类型的局部变量. 我有一个猜测,那就是如果编译了 ..
发布时间:2021-11-26 09:53:51 C#/.NET

使用C#var隐式键入System.Data.Datarow

foreach (var row in table.Rows) { DoSomethingWith(row); } 假设我正在使用标准的System.Data.DataTable(具有System.Data.DataRow对象的集合),则上面的变量'row'解析为object类型,而不是System.Data.DataRow. foreach (DataRow row in t ..
发布时间:2020-07-23 06:53:46 C#/.NET

有条件地定义变量类型C#

在"ADO.NET实体数据模型"中,我从许多表中创建了“数据库优先"模型. 所有表都具有“代码"和“名称"字段以及其他字段的不同集合. 然后,我创建了一个“上下文"对象. 现在,我想创建一个变量"src_table",该变量将有条件地分配给context.table1或context.table2等,然后使用src_table.code和src_table.name属性. 这样的代码可以正常 ..
发布时间:2020-07-23 06:52:37 C#/.NET

隐式键入如何使代码更清晰?

在我正在阅读的书中,与没有使用var关键字的情况相比,隐式键入使以下代码更清晰: var words = new[] { "a", "b", null, "d" }; foreach (var item in words) { Console.WriteLine(item); } 在我看来,情况恰恰相反:如果使用string代替,则代码阅读者将立即知道它是foreach循环中的 ..
发布时间:2020-07-23 06:52:36 C#/.NET

使用隐式类型的局部变量

我刚刚安装了 ReSharper 的试用版,并且第一件事注意到,它总是建议用隐式类型的局部变量替换显式类型局部变量,例如: public string SomeMethod(int aParam) { int aNumber = SomeOtherMethod(aParam); //应该更改为: var aNumber = SomeOtherMethod(aParam); } ..
发布时间:2016-12-14 13:42:53 C#/.NET

为什么var会是坏事?

我一直和我的同事聊天,听说他们的编码标准明确禁止他们使用C#中的 var 关键字。他们不知道为什么是这样的,我总是发现隐式声明在编码时非常有用。我从来没有找到什么类型的变量是什么问题(你只能将鼠标悬停在VS中的变量,你会得到类型的方式)。 任何人都知道为什么在C#中使用var关键字是个不好的主意。 解决方案 。Net Framework Design Guidelines (awes ..
发布时间:2016-12-14 13:24:00 C#/.NET

实现接口阵列的隐式类型

我的印象是,C#编译器将隐类型的数组基于关闭,他们都可以隐式转换为一个类型。 编译器生成 的没有最好的类型发现隐式类型数组的 公共接口ISomething {} 酒店的公共接口ISomething2 {} 公共接口ISomething3 {} 公共类Foo:ISomething {} 公共类酒吧:ISomething,ISomething2 { } 公共类车:I ..
发布时间:2016-09-29 12:27:58 C#/.NET

使用隐式类型的局部变量

我刚刚安装的 ReSharper的试用版和的第一件事我注意到的是它总是暗示与隐式类型的人,如更换显式类型的局部变量: 公共字符串的someMethod(INT aParam) { INT aNumber的= SomeOtherMethod(aParam); //应改为: VAR aNumber的= SomeOtherMethod(aParam); } 我想显式类 ..
发布时间:2016-08-30 14:52:02 C#/.NET

为什么会无功是一件坏事?

我一直在与同事聊天的一天,听说他们的编码标准明确禁止他们使用 VAR 关键字在C#。他们不知道为什么它是如此,我总是发现隐含的声明编码时要非常有用的。我从来没有任何问题,找出什么类型的变量是(你只悬停在VS变量,你会得到的类型的方式)。 有谁知道为什么它会是一个坏主意,使用var关键字在C#? 解决方案 ..
发布时间:2016-08-28 14:12:27 C#/.NET

为什么我不能使用数组初始化与隐式类型的变量?

为什么我不能使用数组初始化有一个隐式类型变量? 的String []字= {“苹果”,“草莓”,“葡萄”};法律// 字符串[]字=​​新的String [] {“苹果”,“草莓”,“葡萄”};法律// VAR字=新的[] {“苹果”,“草莓”,“葡萄”};法律// VAR字=新的String [] {“苹果”,“草莓”,“葡萄”};法律//VAR字= {“苹果”,“草莓”,“葡萄”,“桃花”} ..
发布时间:2016-05-30 23:01:27 C#/.NET

为什么不能匿名方法被分配到无功?

我有以下的code: Func键<字符串,布尔>比较器=委托(字符串值){ !返回值=“0”; }; 不过,以下不会编译: VAR比较器=委托(字符串值){ !返回值=“0”; }; 为什么不能编译器弄清楚它是一个 Func键<字符串,布尔> ?它需要一个字符串参数,并返回一个布尔值。相反,它给我的错误: 不能到指定匿名方 ..
发布时间:2015-11-27 21:21:43 C#/.NET

在使用try ... catch隐式类型变量

我喜欢使用隐式类型的几乎一切,因为它是干净和简单。然而,当我需要环绕单个语句try ... catch块,我必须打破了隐式类型,以确保变量有一个确定的值。这里有一个人为假设的例子: VAR S =“ABC”; //我想避免显式类型在这里 IQueryable的< ABC>结果= NULL; 尝试 { 结果=的GetData(); }赶上(例外前){} 如果(结果!= N ..
发布时间:2015-11-26 21:16:25 C#/.NET