Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么隐式类型比显式类型更受欢迎?_C#_Implicit Typing - Fatal编程技术网

C# 为什么隐式类型比显式类型更受欢迎?

C# 为什么隐式类型比显式类型更受欢迎?,c#,implicit-typing,C#,Implicit Typing,在中,当变量的类型在赋值的右侧很明显时,为什么Microsoft建议使用隐式类型 我知道这是显而易见的,所以没有必要申报,但为什么要提出这个建议呢? 显式键入不是让代码更容易理解吗 var str1 = "This is clearly a string."; vs 这有编译时好处吗?没有,没有编译时好处。是的,显式输入使代码更容易理解。然而,有时当类型复杂时(如泛型字典或linq查询结果),它会使代码更加紧凑,而不会使代码变得不清晰。在一天结束时,它仍然只是一个首选项。当从上下文中清除变量类

在中,当变量的类型在赋值的右侧很明显时,为什么Microsoft建议使用隐式类型

我知道这是显而易见的,所以没有必要申报,但为什么要提出这个建议呢? 显式键入不是让代码更容易理解吗

var str1 = "This is clearly a string.";
vs


这有编译时好处吗?

没有,没有编译时好处。是的,显式输入使代码更容易理解。然而,有时当类型复杂时(如泛型字典或linq查询结果),它会使代码更加紧凑,而不会使代码变得不清晰。在一天结束时,它仍然只是一个首选项。
当从上下文中清除变量类型时,在声明中使用var。
从上下文中。就个人而言,这是一个选择的问题,我会使用
string
在您的情况下,我使用
var
来处理
var dictionary=newdictionary()
@Habib,也使用linq语句,因为那些数据类型可能会很难预先输入。我不知道为什么会有人投反对票。这是一个合理的问题,马尔克,我同意,但我们无法控制
string str2 = "This is clearly a string.";