文字列型は C# でプログラミングするときによく使用されます。これは参照型でもありますが、どこでも参照として使用されるわけではありません。便宜上、1 つずつ列挙します。 1) 文字列の直接割り当て
: 文字列自体は参照型であり、新しいオブジェクト メソッドのインスタンスを使用する必要があります。ただし、皆様の便宜のために、Microsoft は文字列変数を直接定義して値を割り当てることができます。例: string。 a = "My China Heart"; これは操作を単純化するだけです。2) 文字列を別の文字列変数に代入する:
通常の参照型は 2 つの参照変数を同じアドレスに割り当てますが、文字列変数は When に割り当てられます。別の文字列変数では、時間が存在しない場合に 2 つの異なるアドレス空間が確立されます。たとえば、上記のコードstring a = "12345"; string b = a;
は 2 つの異なるアドレス参照ですが、A の文字列の内容は B、A、および b に割り当てられます。内容は次の内容です。 A、A、B は同じです。 3
) 同じ文字列の複数の代入:一般的な考え方によれば、文字列変数に値を代入しても、その内容は変更されるだけで、アドレスは変更されません。同じものに割り当てるとき 文字列変数が再度割り当てられると、メモリ空間が再割り当てされ、新しいアドレスが作成され、そのアドレスが元の文字列変数に割り当てられます。 例:
Rstring a= "123"; a = "456"
2 番目の場合。代入は A に A に割り当てられます "" は "" 2 回目の A への割り当ては "" から "" A の値は "" から "" です A から A の値は "" " 456" で、新しいものが作成されますメモリ空間を作成し、新しく作成したメモリ アドレスを変数に割り当てます。以前のメモリ「123」は破棄され、ガベージ コレクションを待ちます。
4) 関数のパラメータとして文字列を渡す:文字列が関数のパラメータとして渡される場合、それは参照型であり、変数のアドレス参照を後でパラメータに変更して渡す必要があります。関数は文字列の値を変更しますが、関数本体に文字列のコピーを渡すだけで、渡されたパラメータの値には影響しません。もちろん、文字列を渡すこともできます。 参照型を使用する場合、主に REF に追加されます。 スクリーンショット:
5) 文字列の比較:
文字列が参照として使用される場合、 2 つの参照型が等しいかどうかを比較します (Equal 関数を再ロードしない限り) が、文字列を比較すると、実際には参照のアドレスではなく文字列の内容と比較されることがわかります。関数は、文字の内容を比較することを指します。この時点で、== と等しいの結果は同じです。6) 文字列のメモリ常駐性: 同じ文字列の内容を持つ変数を作成すると、これらの文字列変数は実際には同じメモリ アドレスを指します。これは C++ のインライン展開に似ています
他に特別な点がある場合は、専門家からのアドバイスをお願いします。異なる意見がある場合は、メッセージを残してお知らせください。お互いに学ぶことでのみ、新人は一歩ずつ成長することができます(笑) ! !
以上がC# の参照型の特殊な文字列の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。