string(C#参考)

2167 ワード

stringタイプは、0以上のUnicode文字からなるシーケンスを表します.stringはい.NET FrameworkのStringの別名.
stringは参照タイプですが、等しい演算子(==および!=)を定義するのは、stringオブジェクト(参照ではなく)の値を比較するためです.これにより、文字列の等化のテストがより直感的になります.例:
string a = "hello";
string b = "h";

// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);

文字列の内容は同じですが、aとbは同じ文字列インスタンスを参照していません.
+演算子は文字列を接続するために使用されます.
string a = "good " + "morning";

これにより、good morningを含む文字列オブジェクトが作成されます.
文字列は可変です.つまり、文字列オブジェクトは作成後、構文的に内容を変更できるように見えますが、実際には実行できません.たとえば、このコードを作成すると、コンパイラは実際に新しい文字列オブジェクトを作成して新しい文字列シーケンスを保存し、変数bは「h」を保存し続けます.
string b = "h";
b += "ello";

[]演算子はアクセスできます
stringの各文字:
string str = "test";
char x = str[2];  // x = 's';

文字列はstringタイプで、引用符で表すか@で表すかの2つの形式で書くことができます.二重引用符(")に引用符で囲まれた文字列:
"good morning"  // a string literal

文字列には、エスケープ・シーケンスを含む任意の文字を含めることができます.
string a = "\\\u0066
";

上の文字列には、反スラッシュ、アルファベットf、および新しい行が含まれています.
に注意
エスケープコードudddd(ここでddddは4桁)はUnicode文字U+ddddを表す.さらに、8ビットUnicodeエスケープコード:udddduddddを識別する.
@で引かれた文字列は@で始まり、二重引用符でも引かれます.例:
@"good morning"  // a string literal

@による利点は、トランスコードシーケンス「いいえ」が処理されることで、完全に限定されたファイル名などの文字列を簡単に書くことができることです.
@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

@で生成された文字列に二重引用符を含めるには、二対の二重引用符を使用します.
@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

@記号のもう1つの使い方は、たまたまC#キーワードとなった参照された(/reference)識別子を使用することです.
 
// keyword_string.cs
using System;
class TestClass 
{
   static void Main()
   {
      string a = "\u0068ello ";
      string b = "world";
      Console.WriteLine( a + b );
      Console.WriteLine( a + b == "hello world" );
   }
}

しゅつりょく

hello world
True