C#のいくつかの小さな知識

1.varキーワード

varが弱いタイプである、任意の種類は、置換されていてもよいです

これは、次の4つの特徴を持っています

1.定義で初期化する必要があります

var s="adcd";  //可以
var s;
s="abcd";  //不可以

2.轟音の初期化は、値の異なるタイプに割り当てることができない、完了します

ローカル変数に必要な3.var

4. varが変数と異なるオブジェクトを定義し、それは強く型付けされたように定義され、正確に同じ変数効率で使用されています。

そして2.refの差のうち

注:(値によって)伝統的価値、(参照によって)送信サイト、(出力によって)出力パラメータ(配列によって)パラメータの配列:C#では、パラメータ渡し方法は、4つのタイプがあります。追加の修飾子なしの値パラメータ、パスパラメータを必要修飾REFによって、出力パラメータは、修飾子のparamsを必要なパラメータの配列を改質剤を必要としました。

REF型のパラメータを使用する場合1は、渡されたパラメータが初期化されなければなりません。うちでは、それは、その初期化プロセスを完了する必要があります。

図2に示すように、refとoutは、実行パラメータと方法で、refまたはアウトキーワードを追加する必要があります。試合を満たすために。

図3は、アウト必要retrun複数の戻り値、およびrefは方法で使用されて使用するために発信者の修飾に言及するときに呼び出される必要があります。

両者の違いは:ref行うことがあり、出ずに出ています。

3.委託します

デリゲートの宣言

//delegate <return type> <delegate-name><parameter list>
public delegate int MyDelegate (string s);

手数料の例

public delegate void printString(string s);
...
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);

マルチキャストデリゲート

マージする「+」演算子を使って、マージ2デリゲートデリゲートは、その合併を呼び出します。信頼の唯一の同じタイプをマージすることができます

 // 创建委托实例
         NumberChanger nc;
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);
         nc = nc1;
         nc += nc2;
         // 调用多播
         nc(5);
   //调用nc时会同时调用nc1和nc2

4.foreachは、ループ内で削除操作を追加サポートしていません。

おすすめ

転載: www.cnblogs.com/Ligo-Z/p/11256405.html