gpt4 book ai didi

c# - 申报差异: "var x = .." vs "var x; x = .."

转载 作者:太空狗 更新时间:2023-10-29 23:58:54 26 4
gpt4 key购买 nike

我是 C# 的新手,请帮助我理解以下语句之间的区别:

var variable_name = new class_a(); // there is no error and is working fine

var variable_name;
variable_name = new class_a(); // this line is throwing error

当我将语句重写为

class_a variable_name; 
variable_name = new class_a(); // this is working fine

最佳答案

var 用于引入一个implicitly typed local variable .该类型在编译时是已知的,并且是从初始化语句右侧的表达式类型推断出来的。使用你的例子:

var variable_name = new class_a();

编译器推断 new class_a() 是一个产生 class_a 类型对象的表达式。因此 variable_name 被声明为 class_a 类型。这段代码完全等同于

class_a variable_name = new class_a();

如果省略初始化的右侧,则编译器无法推断类型。因此编译错误。

关于c# - 申报差异: "var x = .." vs "var x; x = ..",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com