从表面上看优化流程这样的模板代码将不再是必要的。
从表面上看这个特性是var关键字的反面。而是推断的类型变量的表达式它推断表达式的类型的变量。下面的例子使用当前的语法和建议的语法。
/ /当前字典语法
/ /建议语法
词典如你所见当c#可以从上下文中推断出类型不需要指定类型的细节。对于局部变量它不是很有趣。它可以更有效的临时参数。当前写作XmlReader
/ /。新建(读者XmlReaderSettings );
XmlReader
/ /建议写作。新建(读者);
在上面的代码中类XmlReaderSettings不是很有趣。这只是分配选项值XmlReader。一些人甚至认为XmlReaderSettings的出现让我们忽视了真正重要的信息。
这个特性更有用在var关键字不适用的场景例如字段和属性。
私人只读的静态对象s_syncObj = new;
根据这一建议以下四个场景中不适合使用。
枚举:并不是所有的枚举类型包含0所以每个枚举成员应该清楚地列出。
接口:这是一个利基特性最好明确提到的类型。
数组:数组的语法要求数组的长度。
的默认构造函数结构:这排除了所有的基本类型和最值类型。如果你想使用这种类型的默认值您可以编写违约。
{C 8:新的关键字能够推断出类型}