誰でも次の違いを説明できますか:
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 をクラスのプロパティとして宣言しており、一度に 1 つの値しか取ることができません
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 = new List<Variable>();
これにより、のリストが作成さVariable
れます。キーワードvar
に関心がある場合は、データ型を知っていることをコンパイラに伝えるだけなので、続行します。
Variable Var1{get;set;}
はプロパティです。これにより、メンバーを設定または取得できますVariable
例えば
Var1 = new Variable{
Var1.Value = "abc" // setter;
}
または
return Var1.Value // getter;
var は .NET によって提供されるデータ型で、Var は暗黙の型です。暗黙的に型指定されたローカル変数は、自分で型を宣言したかのように厳密に型指定されますが、型はコンパイラによって決定されます。C# プログラミング言語の任意の型にエイリアスを設定します。エイリアス化された型は、C# コンパイラによって決定されます。これによりパフォーマンスが低下することはありません。Var は優れたシンタックス シュガーです。
例えば
var str = "Hello World";
としてコンパイルされます
string str = "Hello World";
ここでの Variable はカスタム Class であり、C# .NET の var とは何の関係もありません。いずれにせよ、それらは関連していません。