C#のプロパティの実際のアクセサ、およびパラメータ、参照パラメータREF、出力OUTパラメータ、配列パラメータとパラメータ学習parmasのデフォルト値

プロパティアクセサ

  • 一般的にはフィールドがプライベート(プライベート)に設定されるアクセスしたい場合はときに外の世界、、、アクセス方法はすぐにフィールドを設定し、読み取り専用または書き込み専用または読み書きを、あなたはまた、プロパティアクセサとして知られている、プロパティを使用することができます
public class People
{
	private string name;
	public string name
	{
		//get访问器用于读取字段,若属性内没有get访问器,则被认为是不可读的
		get{return name;}
		//set访问器用于写入字段,若属性内没有set访问器,则被认为是不可写的
		set{name = value}
		//value被视为写入的数值,如name = "xiaoming"
	}
}
  • 読み取り専用に設定するか、または書き込み専用外付けされた外の世界マーク、民間へのアクセスは、後であなたがそのような保護されたとして、他の属性のアクセス修飾子を使用することができる場合もを使用することができます
//外界只读
public string name
{
	get{return name;}
	private set{name = value}
}
  • 高速財産を書く:公共int型年齢取得または設定;}コンパイラが自動的にあなたを助けるために、フィールドを生成しますように、このようなアプローチは、事前に定義されたフィールドではないかもしれません
  • プロパティアクセサでの書き込みコードは、文が取得アクセサ内の属性を読み込み、書いていない、死のサイクル、それ以外の場合は、再帰的なサイクルがあるだろう、setアクセサ内のプロパティのSTART文を書きません

メソッドのパラメータ

まず、フォーム間の引数

  • パラメータ:オブジェクトが呼び出されたときの伝送パラメータを受信するために使用されたときに呼び出される「仮パラメータ」は、身体の関数名や関数の定義でパラメータを使用しています
  • 「実際のパラメータ」と呼ばれる引数は、呼び出される関数に渡される関数を呼び出す際に、引数は関係なく、引数の種類の、などの定数、変数、式、関数、することができ渡されたパラメータであり、量は、関数呼び出しの間に、それらは、パラメータに値を転送するように決定された値を有していなければなりません。したがって、入力引数と決意値が得られるようにする他の方法を使用して、事前に割り当てられなければなりません
//类中定义一个交换方法
public void Swap(int x, int y)//x,y为形参
{
	int temp = x;
    x = y;
    y = temp;
}
//主函数调用
MathTool myMath = new MathTool();
int a = 10int b = 20;
myMath.Swap(a,b);//实参

第二に、参照パラメータ参照

MathTool myMath = new MathTool();
int a = 10int b = 20;
myMath.Swap(a,b);
Console.WriteLine(a);
Console.WriteLine(b);
  • 上記のコードを実行し、b及び出力値が同じようにx及びyに割り当てられた値に対応するB、変化しないが、彼ら自身がそうこの場合には、基準パラメータREFと便利であり、変化しませんでした
public void Swap(ref int x, ref int y)
{
    int temp = x;
    x = y;
    y = temp;
}
//调用
myMath.Swap(ref a,ref b);
  • 再び文が実行される。この場合には、aとbの値は、値が渡されていないため、現時点では、スワップが、アドレスaとbされています
  • 何の初期値は、その後、何のアドレスが存在しない場合、REFパラメータは、可変引数を⼀でなければならないので、初期値が割り当てられて与えていました
  • 前typeパラメータの値が通常の増加などrefの芽⾯

第三に、出力パラメータアウト

  • この方法は、利用可能な出力パラメータのうち、結果の複数を返したいとき
//在类中定义方法
public void Cal(int a,int b,out int r1,out int r2)
{
	r1 = a + b;
	r2 = a - b;
}
//主函数中调用
MathTool ml = new MathTool();
int result1;
int result2;
ml.Cal(3, 5, out result1, out result2);
//result1为8,result2为-2
  • 追加キーワードのパラメータは外となります⼀チャンネル出力
  • パラメータは、救済を離れる前に割り当てる必要があります
  • 引数は変数でなければなりません⼀
  • 通常の引数は値型であるとして芽を転送
  • 出力パラメータを使用して、関係なく、パラメータまたは引数が追加されなければならない場合は前⾯アウトキーワード

第四に、配列パラメータのparmas

  • 場合は、着信のパラメータは、パラメータの不確実性の配列を使用することができたときに、いくつかのparmasです
public void Sum(params int[] a)
{
    int result = 0;
    foreach (int x in a)
    {
        result += x;
    }
    Console.WriteLine("结果为: " + result);
}
myMath.Sum(1, 2, 3, 4, 5); 
  • 配列パラメータは一度だけ使用することができ、そして最後には、引数リストを置くために

第五に、パラメータのデフォルト値

  • ほとんどの場合、パラメータが値であるときは、パラメータのデフォルト値を追加することができます
/// <summary>
/// 获取你的年级
/// </summary>
/// <returns>返回你的年级.</returns>
/// <param name="yourAge">你的年龄.</param>
/// <param name="jumpCount">跳过几级.</param>
public int GetYourGrade(int yourAge, int jumpCount = 0)
{
    int grade = yourAge - 6 + jumpCount;
    grade = grade > 0 && grade < 13 ? grade : -1;
    return grade;
} 
公開された11元の記事 ウォンの賞賛1 ビュー437

おすすめ

転載: blog.csdn.net/weixin_43914767/article/details/104414834