谁能解释一下有什么区别:
Var1 = new List<Variable>();
和
public Variable Var1{ get; set; }
在哪里
public class Variable
{
public string Value { get; set; }
}
它们在哪些方面不同或相同?
任何帮助都很棒。谢谢。
谁能解释一下有什么区别:
Var1 = new List<Variable>();
和
public Variable Var1{ get; set; }
在哪里
public class Variable
{
public string Value { get; set; }
}
它们在哪些方面不同或相同?
任何帮助都很棒。谢谢。
1)List<Variable> Var1 = new List<Variable>();
那是声明Var1
为Variable
对象的集合。所以 Var1 将持有Variable
Var1.Add(new Variable());
Var1.Add(new Variable());
Var1.Add(new Variable());
现在我们在 Var1 中有 3 个项目
2)public Variable Var1{ get; set; }
那就是将 Var1 声明为类的属性,并且一次只能取一个值
public class MyClass
{
public Variable Var1{ get; set; }
}
MyClass c = new MyClass();
c.Var1 = v; //where v is an instance of Variable class
//or
Variable v = c.Var1; //returns an Instance of Variable which is a property of c
var 是 .NET 提供的数据类型,Var 是隐式类型。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定类型。它为 C# 编程语言中的任何类型起别名。别名类型由 C# 编译器确定。这没有性能损失。Var 是优秀的语法糖。
例如
var str = "Hello World";
编译为
string str = "Hello World";
而这里的变量是一个自定义类,与 C# .NET 的 var 无关。它们无论如何都没有关系。
var = new List<Variable>();
这将创建一个列表Variable
,如果你关心的是关键字,var
那么它只是告诉编译器我知道数据类型,所以你继续。
Variable Var1{get;set;}
是属性,这允许您设置或获取成员Variable
例如
Var1 = new Variable{
Var1.Value = "abc" // setter;
}
或者
return Var1.Value // getter;