C# テクニカル資料: String クラスの概要
目次
1. String クラスとは
C# では、String
クラスは文字列を表現すための基本的なクラスです。このクラスにより、文字列の操作や管理が行えます。
2. 基本的な特徴
sealed
クラス- 「終尾」を意味し、
String
クラスは絶対に継承できません。
- 「終尾」を意味し、
- 参照型
String
は参照型ですが、値型に近い動作をします。文字列の操作は新しい文字列を生成し、元のオブジェクトを変更しません。
- イミュータブル
- 一度作成された文字列オブジェクトは変更不可能です。
- 文字列リテラルの特権
- 同じ内容の文字列リテラルはメモリの効率化のためにプールされます。
3. 主なプロパティ
Length
- 文字列の長さを収容する。
string str = "Hello";
int length = str.Length; // 5
4. 主なメソッド
string.Concat
- 文字列を連続します。
string str1 = "Hello";
string str2 = "World";
string result = string.Concat(str1, " ", str2); // "Hello World"
string.Substring
- 部分文字列を取得します。
string str = "Hello World";
string sub = str.Substring(6, 5); // "World"
string.Replace
- 文字列内の指定した文字を置き換えます。
string str = "apple";
string result = str.Replace("a", "A"); // "Apple"
string.Split
- 指定した区切り文字で文字列を分割します。
string str = "a,b,c";
string[] parts = str.Split(','); // {"a", "b", "c"}
string.Join
- 配列を区切り文字で連続します。
string[] parts = { "a", "b", "c" };
string result = string.Join(",", parts); // "a,b,c"
string.Trim
- 前後の空白を削除します。
string str = " Hello ";
string result = str.Trim(); // "Hello"
string.ToLower
/string.ToUpper
- 小文字、大文字に変換します。
string str = "Hello";
string lower = str.ToLower(); // "hello"
string upper = str.ToUpper(); // "HELLO"
string.Contains
- 指定した文字列を含むかどうか確認します。
string str = "Hello World";
bool contains = str.Contains("World"); // true
5. StringBuilder の利用
重い文字列操作を行う場合、StringBuilder
の使用が推奨されます。
6. サンプルコード
using System;
class Program
{
static void Main()
{
string greeting = "Hello";
string name = "World";
// 文字列の連続
string message = string.Concat(greeting, " ", name);
Console.WriteLine(message); // Hello World
// 部分文字列
string sub = message.Substring(6, 5);
Console.WriteLine(sub); // World
// 文字列の置換
string replaced = message.Replace("World", "C#");
Console.WriteLine(replaced); // Hello C#
// 小文字変換
Console.WriteLine(replaced.ToLower()); // hello c#
// 配列の連続
string[] words = { "C#", "is", "awesome" };
string result = string.Join(" ", words);
Console.WriteLine(result); // C# is awesome
}
}
7. まとめ
String
クラスは、C# では基本的でありながら強力なクラスです。イミュータブル性や便利なメソッドにより、安全で効率的な文字列操作が可能です。
ディスカッション
コメント一覧
まだ、コメントがありません