4

私はC#を初めて使用します。私はチュートリアルを行っていました。以下に示すように、変数にaccesor-mutatorを作成する方法を示します。

public String var1 {

get {return "";}
set {someVar = value;}

} 

1.)Javaで作成されたようなゲッターとセッターを作成できません

public getVar() {return "";}
public setVar(String x){var=x;}

2.)valueC#では何が使用されていますか?

4

4 に答える 4

9
  1. 可能ですが、それを使用するのははるかに面倒であり、C#コーディングガイドラインを無視します。

  2. valueセッターへの暗黙のパラメーターです。これには、呼び出し元がプロパティを設定している値が含まれています。Property = something(通話の右側)

ドキュメントを参照してください。

于 2012-12-31T17:28:03.097 に答える
4
  1. できますよ。C#のプロパティは、まさにそのためのシンタックスシュガーになるように設計されています。内部的には、プロパティはget/setメソッドにすぎません。2つのメソッドを作成する方が簡単で、2つのメソッドをソースコード内の1つの場所に保持し、呼び出し元の構文が単純になり、値を取得/設定するだけのプロパティを生成するのも簡単です。

  2. それはキーワードです。メソッドに渡されるのは値です。誰かが入ると、への参照になりobj.var1 = "abc";ます。value"abc"

于 2012-12-31T17:28:29.947 に答える
3

もちろん、Javaのようにそれを行うことができます。しかし、なぜ?プロパティ構文により、呼び出し元の観点からはるかに優れたエクスペリエンスが可能になります。

valueは、内部変数などを設定するために使用できる疑似変数です。これxは、Javaのような例と同等です。

于 2012-12-31T17:29:05.463 に答える
1

はい、Javaの例のようにゲッターセッターを作成できます

int marks;
public void setMarks(int marks)
{
this.marks=marks;
}
public int getMarks()
{
return marks;
}
于 2012-12-31T17:31:14.860 に答える