C# 文字列
C# では、文字配列を使用して文字列を表すことができますが、string キーワードを使用して文字列変数を宣言する方が一般的です。 string キーワードは、System.String クラスのエイリアスです。
String オブジェクトの作成
次のいずれかの方法を使用して文字列オブジェクトを作成できます:
String 変数に文字列を割り当てる方法
String クラス コンストラクターを使用する方法
を使用する方法文字列 連結演算子 ( + )
プロパティを取得するか、文字列を返すメソッドを呼び出すことにより、値またはオブジェクトをその文字列表現に変換します
書式設定メソッドを介して値またはオブジェクトをその文字列表現に変換します
以下の例 これを取得しました:
using System; namespace StringApplication { class Program { static void Main(string[] args) { //字符串,字符串连接 string fname, lname; fname = "Rowan"; lname = "Atkinson"; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname); //通过使用 string 构造函数 char[] letters = { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //方法返回字符串 string[] sarray = { "Hello", "From", "Tutorials", "Point" }; string message = String.Join(" ", sarray); Console.WriteLine("Message: {0}", message); //用于转化值的格式化方法 DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1); string chat = String.Format("Message sent at {0:t} on {0:D}", waiting); Console.WriteLine("Message: {0}", chat); Console.ReadKey() ; } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます:
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 17:58 on Wednesday, 10 October 2012
String クラスの属性
String クラスには次の 2 つの属性があります:
シリアル番号 | 属性名と説明 |
---|---|
1 | Chars 現在のStringオブジェクト内のCharオブジェクトの指定された位置を取得します。 |
2 | Length 現在の String オブジェクトの文字数を取得します。 |
Stringクラスのメソッド
Stringクラスには、文字列オブジェクトを操作するためのメソッドが多数あります。以下の表は、最も一般的な方法のいくつかを示しています:
シリアル番号 | メソッド名と説明 |
---|---|
1 | public static int Compare(
文字列 strA、
文字列 strB
) 指定された 2 つの文字列オブジェクトを比較し、並べ替え順での相対位置を表す整数を返します。このメソッドでは大文字と小文字が区別されます。 |
2 | public static int Compare(
文字列 strA、
文字列 strB、
bool 無視ケース
) 指定された 2 つの文字列オブジェクトを比較し、並べ替え順での相対位置を表す整数を返します。ただし、ブール引数が true の場合、メソッドでは大文字と小文字が区別されません。 |
3 | public static string Concat(
文字列 str0、
文字列 str1
) 2 つの文字列オブジェクトを連結します。 |
4 | public static string Concat(
文字列 str0、
文字列 str1、
文字列 str2
) 3 つの文字列オブジェクトを連結します。 |
5 | public static string Concat(
文字列 str0、
文字列 str1、
文字列 str2、
文字列 str3
) 4 つの文字列オブジェクトを連結します。 |
6 | public bool が含まれます(
文字列値
) 指定された文字列オブジェクトが文字列内に出現するかどうかを示す値を返します。 |
7 | public static string Copy(
文字列 str
) 指定された文字列と同じ値を持つ新しい String オブジェクトを作成します。 |
8 | public void CopyTo(
int ソースインデックス、
char[] 宛先、
int destinationIndex、
整数カウント
) 文字列オブジェクトの指定された位置から始まる指定された数の文字を、Unicode 文字配列内の指定された位置にコピーします。 |
9 | public bool EndsWith(
文字列値
) 文字列オブジェクトの末尾が指定された文字列と一致するかどうかを判断します。 |
10 | public bool Equals(
文字列値
) 現在の文字列オブジェクトが指定された文字列オブジェクトと同じ値を持つかどうかを判断します。 |
11 | public static bool Equals(
文字列 a、
文字列b
) 指定された 2 つの文字列オブジェクトが同じ値を持つかどうかを判断します。 |
12 | public static string Format(
文字列形式、
オブジェクト引数0
) 指定された文字列内の 1 つ以上の書式項目を、指定されたオブジェクトの文字列表現に置き換えます。 |
13 | public int IndexOf(
文字値
) 現在の文字列内で指定された Unicode 文字が最初に出現するインデックスを 0 から返します。 |
14 | public int IndexOf(
文字列値
) このインスタンス内で指定された文字列が最初に出現するインデックスを 0 から返します。 |
15 | public int IndexOf(
文字値、
int startIndex
) この文字列内で指定された Unicode 文字が最初に出現する位置のインデックスを返します。指定された文字位置から始まり、0 から始まります。 |
16 | public int IndexOf(
文字列値、
int startIndex
) このインスタンス内の指定された文字位置から始まる指定された文字列の最初の出現のインデックスを返します。インデックスは 0 から始まります。 |
17 | public int IndexOfAny(
char[] 任意の
) このインスタンスで指定された Unicode 文字配列内で最初に出現した文字のインデックスを返します。インデックスは 0 から始まります。 |
18 | public int IndexOfAny(
char[] 任意の、
int startIndex
) インスタンス内の指定された文字位置から始まる、指定された Unicode 文字配列内の任意の文字の最初の出現のインデックスを返します。インデックスは 0 から始まります。 |
19 | public string Insert(
int startIndex、
文字列値
) 現在の文字列オブジェクトの指定されたインデックスに指定された文字列が挿入された新しい文字列を返します。 |
20 | public static bool IsNullOrEmpty(
文字列値
) 指定された文字列が null か空の文字列かを示します。 |
21 | public static string Join(
文字列区切り文字、
params string[] 値
) 文字列配列内のすべての要素を連結し、指定された区切り文字を使用して各要素を区切ります。 |
22 | public static string Join(
文字列区切り文字、
文字列[]値、
int startIndex、
整数カウント
) 各要素を区切るために指定された区切り文字を使用して、文字列配列内の指定された位置から始まる指定された要素を連結します。 |
23 | public int LastIndexOf(
文字値
) 現在の文字列オブジェクト内で指定された Unicode 文字が最後に出現するインデックス位置を返します。インデックスは 0 から始まります。 |
24 | public int LastIndexOf(
文字列値
) 現在の文字列オブジェクト内で指定された文字列が最後に出現するインデックス位置を返します。インデックスは 0 から始まります。 |
25 | public string Remove(
int startIndex
) 現在のインスタンス内の指定された位置から最後の位置までのすべての文字を削除し、文字列を返します。 |
26 | public string Remove(
int startIndex、
整数カウント
) 現在の文字列の指定された位置から指定された数の文字を削除し、文字列を返します。 |
27 | public string Replace(
古いChar、
文字新しい文字
) 現在の文字列オブジェクト内の指定されたすべての Unicode 文字を別の指定された Unicode 文字に置き換え、新しい文字列を返します。 |
28 | public string Replace(
文字列oldValue、
文字列 newValue
) 現在の文字列オブジェクト内の指定されたすべての文字列を別の指定された文字列に置き換え、新しい文字列を返します。 |
29 | public string[] Split(
params char[] 区切り文字
) 指定された Unicode 文字配列の要素で区切られた、現在の文字列オブジェクトの部分文字列を含む文字列配列を返します。 |
30 | public string[] Split(
char[] 区切り文字、
整数カウント
) 指定された Unicode 文字配列の要素で区切られた、現在の文字列オブジェクトの部分文字列を含む文字列配列を返します。 int パラメータは、返される部分文字列の最大数を指定します。 |
31 | public bool StartsWith(
文字列値
) 文字列インスタンスの先頭が指定された文字列と一致するかどうかを判断します。 |
32 | public char[] ToCharArray() 現在の文字列オブジェクト内のすべての文字を含む Unicode 文字配列を返します。 |
33 | public char[] ToCharArray(
int startIndex、
整数の長さ
) 現在の文字列オブジェクト内の、指定されたインデックスから始まり指定された長さで終わるすべての文字を含む Unicode 文字配列を返します。 |
34 | public string ToLower() 文字列を小文字に変換して返します。 |
35 | public string ToUpper() 文字列を大文字に変換して返します。 |
36 | public string Trim() 現在の String オブジェクトの先頭と末尾の空白文字をすべて削除します。 |
上記のメソッド リストはすべてを網羅しているわけではありません。完全なメソッド リストと String クラス コンストラクターを確認するには、MSDN ライブラリにアクセスしてください。
例
次の例は、上記のメソッドのいくつかを示しています:
文字列の比較
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str1 = "This is test"; string str2 = "This is text"; if (String.Compare(str1, str2) == 0) { Console.WriteLine(str1 + " and " + str2 + " are equal."); } else { Console.WriteLine(str1 + " and " + str2 + " are not equal."); } Console.ReadKey() ; } } }
上記のコードがコンパイルされて実行されると、次の結果が生成されます:
This is test and This is text are not equal.
文字列には String が含まれます:
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "This is test"; if (str.Contains("test")) { Console.WriteLine("The sequence 'test' was found."); } Console.ReadKey() ; } } }
上記のコードをコンパイルして実行すると、次の結果が生成されます:
The sequence 'test' was found.
部分文字列の取得:
Instance
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "Last night I dreamt of San Pedro"; Console.WriteLine(str); string substr = str.Substring(23); Console.WriteLine(substr); Console.ReadKey() ; } } }
インスタンスの実行 »
[Run Example] ボタンをクリックします。オンラインの例を表示するには
上記のコードがコンパイルされて実行されると、次の結果が生成されます:
Last night I dreamt of San Pedro San Pedro
接続文字列:
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string[] starray = new string[]{"Down the way nights are dark", "And the sun shines daily on the mountain top", "I took a trip on a sailing ship", "And when I reached Jamaica", "I made a stop"}; string str = String.Join("\n", starray); Console.WriteLine(str); Console.ReadKey() ; } } }
上記のコードがコンパイルされ、実行されると、次の結果が生成されます。次の結果:
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop