C# 文字列
C# 文字列
このチュートリアルでは、例を使用して C# 文字列とそのメソッドについて学習します。
C# では、文字列は一連の文字です。例:"hello"
文字列 'h'
を含む文字列です 、 'e'
、 'l'
、 'l'
、および 'o'
.
string
を使用します 文字列を作成するためのキーワード。たとえば、
// create a string
string str = "C# Programming";
ここでは、string
を作成しました。 str という名前 テキスト "C# Programming"
を割り当てます . C# では文字列を表すために二重引用符を使用します。
例:C# で文字列を作成する
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// create string
string str1 = "C# Programming";
string str2 = "Programiz";
// print string
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadLine();
}
}
}
出力
C# Programming Programiz
上記の例では、str1 という名前の 2 つの文字列を作成しました。 と str2
注意 :C# の文字列変数は int
のようなプリミティブ型ではありません 、 char
など。代わりに、String
のオブジェクトです。 クラス。
文字列操作
C# string には、文字列に対してさまざまな操作を実行するためのさまざまなメソッドが用意されています。一般的に使用される文字列操作のいくつかを見ていきます。
1.文字列の長さを取得
文字列の長さを調べるには、Length
を使用します 財産。たとえば、
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// create string
string str = "C# Programming";
Console.WriteLine("string: " + str);
// get length of str
int length = str.Length;
Console.WriteLine("Length: "+ length);
Console.ReadLine();
}
}
}
出力
string: C# Programming Length: 14
上記の例では、Length
プロパティは、文字列の合計文字数を計算して返します。
2. C# で 2 つの文字列を結合
Concat()
を使用して、C# で 2 つの文字列を結合できます。 方法。たとえば、
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// create string
string str1 = "C# ";
Console.WriteLine("string str1: " + str1);
// create string
string str2 = "Programming";
Console.WriteLine("string str2: " + str2);
// join two strings
string joinedString = string.Concat(str1, str2);
Console.WriteLine("Joined string: " + joinedString);
Console.ReadLine();
}
}
}
出力
string str1: C# string str2: Programming Joined string: C# Programming
上記の例では、str1 という名前の 2 つの文字列を作成しました。 と str2 .声明に注目してください、
string joinedString = string.Concat(str1, str2);
ここでは、Concat()
メソッドは str1 を結合します と str2 joinedString に割り当てます
+
を使用して 2 つの文字列を結合することもできます C# の演算子。詳しくは、C# string Concat をご覧ください。 .
3. C# 2 つの文字列を比較
C# では、Equals()
を使用して 2 つの文字列を比較できます。 方法。 Equals()
メソッドは、2 つの文字列が等しいかどうかをチェックします。たとえば、
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// create string
string str1 = "C# Programming";
string str2 = "C# Programming";
string str3 = "Programiz";
// compare str1 and str2
Boolean result1 = str1.Equals(str2);
Console.WriteLine("string str1 and str2 are equal: " + result1);
//compare str1 and str3
Boolean result2 = str1.Equals(str3);
Console.WriteLine("string str1 and str3 are equal: " + result2);
Console.ReadLine();
}
}
}
出力
string str1 and str2 are equal: True string str1 and str3 are equal: False
上記の例では、str1 という名前の 3 つの文字列を作成しました。 , str2 、および str3 .ここでは、Equals()
を使用しています。 ある文字列が別の文字列と等しいかどうかをチェックするメソッド。
文字列オブジェクトの不変性
C# では、文字列は不変です。つまり、一度文字列を作成すると、その文字列を変更することはできません。
それを理解するために、例を考えてみましょう:
// create string
string str = "Hello ";
ここでは、str という名前の文字列変数を作成しました。 .変数は文字列 "Hello "
を保持します .
ここで、文字列 str を変更したいとします。 .
// add another string "World"
// to the previous string example
str = string.Concat(str, "World");
ここでは、Concat()
を使用しています。 文字列 "World" を追加するメソッド 前の文字列 str へ .
しかし、文字列が不変の場合、どうすれば文字列を変更できるでしょうか?
ここで何が起こったのか見てみましょう、
<オール>"Hello "
の値を取ります ."World"
を追加して新しい文字列を作成します 文字列 "Hello "
に ."Hello World"
を指定します 、それを str に格納します ."Hello "
str に割り当てられた 他の変数が参照を保持していないため、ガベージ コレクションのために解放されます。文字列エスケープ シーケンス
エスケープ文字は、文字列内に存在する一部の文字をエスケープするために使用されます。つまり、エスケープ シーケンスを使用して文字列内に特殊文字を挿入します。
文字列内に二重引用符を含める必要があるとします。
// include double quote
string str = "This is the "String" class";
文字列は二重引用符で表されるため、コンパイラは "This is the "
を扱います。 文字列として。上記のコードではエラーが発生します。
この問題を解決するために、エスケープ文字 \"
を使用します C#で。たとえば、
// use the escape character
string str = "This is the \"String\" class.";
\
を使用して 二重引用符 "
の前 、文字列に含めることができます。
C# のエスケープ シーケンスの一部を次に示します。
エスケープ シーケンス | キャラクター名 |
---|---|
\' | 一重引用符 |
\" | 二重引用符 |
\\ | バックスラッシュ |
\0 | ヌル |
\n | 改行 |
\t | 水平タブ |
文字列補間
C# では、文字列補間を使用して文字列内に変数を挿入できます。文字列補間の場合、文字列リテラルは $
で始まる必要があります キャラクター。たとえば、
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// create string
string name = "Programiz";
// string interpolation
string message = $"Welcome to {name}";
Console.WriteLine(message);
Console.ReadLine();
}
}
}
出力
Welcome to Programiz
上記の例では、name を使用しています。 メッセージ内の変数 文字列。
string message = $"Welcome to {name}";
- 文字列リテラルは
$
で始まります - 名前 変数は中括弧
{}
内に配置されます
C# 文字列のメソッド
C# にはさまざまな文字列メソッドがあります。それらのいくつかは次のとおりです:
メソッド | 説明 |
---|---|
Format() | フォーマットされた文字列を返します |
Split() | 文字列を部分文字列に分割します |
Substring() | 文字列の部分文字列を返します |
Compare() | 文字列オブジェクトを比較 |
Replace() | 指定された古い文字を指定された新しい文字に置き換えます |
Contains() | 文字列に部分文字列が含まれているかどうかをチェックします |
Join() | 指定されたセパレータを使用して、指定された文字列を結合します |
Trim() | 先頭と末尾の空白を削除します |
EndsWith() | 文字列が指定された文字列で終わるかどうかをチェックします |
IndexOf() | 文字列内の指定された文字の位置を返します |
Remove() | 文字列から文字を返します |
ToUpper() | 文字列を大文字に変換します |
ToLower() | 文字列を小文字に変換します |
PadLeft() | 左側にスペースまたは指定された Unicode 文字が埋め込まれた文字列を返します |
PadRight() | 右側にスペースまたは指定された Unicode 文字が埋め込まれた文字列を返します |
StartsWith() | 文字列が指定された文字列で始まるかどうかをチェックします |
ToCharArray() | 文字列を char に変換します 配列 |
LastIndexOf() | 指定された文字列が最後に出現したインデックスを返します |
よくある質問
1. C# で文字列の配列を作成する方法は?文字列の配列は、データ型の配列と同じように作成されます。たとえば、
using System;
namespace CsharpString {
class Test {
public static void Main(string [] args) {
// array of string type
string[] animals = {"Monkey", "Dog", "Cat"};
// print array elements
Console.WriteLine(animals[0]);
Console.WriteLine(animals[1]);
Console.WriteLine(animals[2]);
Console.ReadLine();
}
}
}
出力
Monkey Dog Cat2. C# の string と String の違い
string
に技術的な違いはありません および String
. C# では、文字列は System.String
のエイリアスです .
string
を使用することをお勧めします using System;
がなくても動作するため .
C言語