C#_PHP チュートリアルについて知っておくべき簡単な知識ポイント

WBOY
リリース: 2016-07-13 10:08:39
オリジナル
704 人が閲覧しました

C#で知っておきたい簡単な知識

1.ローカル変数

このタイトルを見ると、びっくりするかもしれませんが、これは何ですか?小さな例を見てみましょう:

static void main()

{

int a=10;

MyClass mc=new MyClass();

}

はは、ここでの a と mc はローカル変数で、フィールドと同様にデータを格納します。通常、フィールドにはオブジェクトの状態に関連するデータが保持されますが、ローカル変数の作成はローカルまたは一時的なデータを保持するためによく使用されます。はは、単純ですが、インスタンス フィールドとの違いは何ですか:

インスタンスフィールド

ローカル変数

ライフタイムはインスタンスの作成から始まり、インスタンスがアクセスされなくなるまでです

ブロック内で宣言されてからブロック実行終了まで

暗黙的な初期化はクラスのデフォルト値に初期化されます 暗黙的な初期化はありません。使用前に変数に値が割り当てられていない場合、コンパイラーはエラーを報告します

格納領域 インスタンスフィールドはクラスのメンバーであるため、型参照か参照型かに関係なく、すべてのフィールドがヒープに格納されます 値型:スタックに格納されます

参照タイプ: 参照はスタックに保存され、データはヒープに保存されます

2.varキーワード

上記のコードに示すように、var が変数の型を自動的に推論できることがわかります。型名が宣言の先頭に指定されている場合、コンパイラーはその型を変数の右側から推論できることがわかります。したがって、表示された型を宣言の先頭に含めます。型名は冗長です。

この冗長性を避けるために、型名が表示される宣言の先頭で新しいキーワード var を使用できます。上記のコードは次のように変更できます:

static void main()

{

var a=10;

var mc=new MyClass();

}

3. 値パラメータ

実パラメータの値を仮パラメータにコピーすることで、値パラメータを使用してメソッドにデータを渡します。メソッドが呼び出されると、システムは次の処理を実行します:

仮パラメータ用にスタック上にスペースを割り当てます

実パラメータの値を仮パラメータにコピーします

4. 参照パラメータ(ref)

仮パラメータ用のスタックにはメモリが割り当てられません

実際の状況は、仮パラメータのパラメータ名が実際のパラメータ変数のエイリアスとして使用され、同じメモリ位置を指すことになります

実パラメータは変数である必要があり、実パラメータとして使用する前に値を割り当てる必要があります。参照型変数の場合は参照またはnullを代入できます

5.出力パラメータ(out)

メソッド内では、出力パラメータを使用する前に値を割り当てる必要があります。これは、パラメーターの初期値は影響を及ぼさないため、メソッド呼び出しの前にパラメーターに値を割り当てる必要がないことを意味します。

メソッドが戻る前に、メソッド内のパスにすべての出力パラメータの値を割り当てる必要があります。

次のコード:

public void Add(out int outValue) { int var1=outValue+2; } メソッドが割り当てられる前に上記のコードの出力パラメータが読み取られた場合、エラーが報告されます。

6. 属性(set、get)

プロパティは関数メンバーです

データストレージ用のメモリは割り当てません

コードを実行できます

set アクセサーには、Value という名前の暗黙的な値パラメーターが 1 つあります。これはプロパティと同じ型で、戻り値の型が void です

get アクセサーにはパラメータがなく、プロパティの型と同じ戻り値の型を持ちます。

7. オブジェクト初期化ステートメント

オブジェクトの作成は new に続いてクラス コンストラクターとそのパラメーター リストで構成されることは誰もが知っています。

オブジェクト初期化ステートメントは作成構文を拡張し、式の最後に一連のメンバー初期化ステートメントを配置します。新しいオブジェクト インスタンスを作成するときにフィールドとプロパティの値を設定できるようにします。

この構文には 2 つの形式があり、1 つはコンストラクターのパラメーター リストを含む形式、もう 1 つは含まない形式です。最初の形式では括弧を省略できることに注意してください。

新しい TypeName {FieldOrProp=InitExpr,FieldOrProp=InitExpr,…}

新しい TypeName {FieldOrProp=InitExpr,FieldOrProp=InitExpr,…}

例は以下の通りです:

public static void main()

{

点 p1=new Point();

点 p2=新しい点{X=4,Y=5,Z=6};

点 p3=新しい点(9){X=7,Y=8};

}

パブリッククラスのポイント

{

public int X=1;

public int Y=2;

public int Z=3;

public Point(int z) { Z=z }

;

}

8.このキーワード

このキーワードはクラスで使用され、現在のインスタンスへの参照です。以下のクラスメンバーのコード内でのみ使用できます

インスタンスコンストラクター

インスタンスメソッド

プロパティとインデクサーへのインスタンスアクセス

静的メンバーはインスタンスの一部ではないため、静的関数メンバーのコードで this キーワードを使用することはできません。より適切には、これは次の目的で使用されます:

クラスメンバーとローカル変数またはパラメーターを区別するために使用されます

呼び出しメソッドの実パラメータとして

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/950334.html技術記事 C# について知っておきたい簡単な知識 1. ローカル変数 このタイトルを見ると、「何これ?」と驚かれるかもしれません。小さな例を見てみましょう: static void main() { int a=10=new M...
;
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート