区分Var = new List <variable>();和公共变量Var {get;组; } </可变>

时间:2012-10-06 03:51:41

标签: c#

任何人都可以解释之间有什么区别:

Var1 = new List<Variable>();

public Variable Var1{ get; set; }

,其中

public class Variable 
{
   public string Value { get; set; }
}

他们有什么不同或者他们是一样的?

任何帮助都很棒。感谢。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

var是.NET提供的数据类型,Var是隐式类型。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。它使用C#编程语言中的任何类型别名。别名类型由C#编译器确定。这没有性能损失。 Var是优秀的语法糖。

e.g。

var str = "Hello World";

编译为

string str = "Hello World";

而Variable这里是一个自定义类,与var#C#.NET无关。无论如何它们都没有关联。

答案 2 :(得分:0)

var = new List<Variable>();

这将创建一个Variable列表,如果您关心的是关键字var,那么它只是告诉编译器我知道数据类型,所以你就这样继续。

Variable Var1{get;set;}是属性,这允许您设置或获取Variable的成员

例如

Var1 = new Variable{
Var1.Value = "abc" // setter;
}

或者

return Var1.Value // getter;