C# テクニカル資料: String クラスの概要


1. String クラスとは

C# では、String クラスは文字列を表現すための基本的なクラスです。このクラスにより、文字列の操作や管理が行えます。


2. 基本的な特徴

  • sealed クラス
    • 「終尾」を意味し、String クラスは絶対に継承できません。
  • 参照型
    • String は参照型ですが、値型に近い動作をします。文字列の操作は新しい文字列を生成し、元のオブジェクトを変更しません。
  • イミュータブル
    • 一度作成された文字列オブジェクトは変更不可能です。
  • 文字列リテラルの特権
    • 同じ内容の文字列リテラルはメモリの効率化のためにプールされます。

3. 主なプロパティ

  • Length
    • 文字列の長さを収容する。
string str = "Hello";
int length = str.Length; // 5

4. 主なメソッド

  1. string.Concat
    • 文字列を連続します。
string str1 = "Hello";
string str2 = "World";
string result = string.Concat(str1, " ", str2); // "Hello World"
  1. string.Substring
    • 部分文字列を取得します。
string str = "Hello World";
string sub = str.Substring(6, 5); // "World"
  1. string.Replace
    • 文字列内の指定した文字を置き換えます。
string str = "apple";
string result = str.Replace("a", "A"); // "Apple"
  1. string.Split
    • 指定した区切り文字で文字列を分割します。
string str = "a,b,c";
string[] parts = str.Split(','); // {"a", "b", "c"}
  1. string.Join
    • 配列を区切り文字で連続します。
string[] parts = { "a", "b", "c" };
string result = string.Join(",", parts); // "a,b,c"
  1. string.Trim
    • 前後の空白を削除します。
string str = "  Hello  ";
string result = str.Trim(); // "Hello"
  1. string.ToLower / string.ToUpper
    • 小文字、大文字に変換します。
string str = "Hello";
string lower = str.ToLower(); // "hello"
string upper = str.ToUpper(); // "HELLO"
  1. 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# では基本的でありながら強力なクラスです。イミュータブル性や便利なメソッドにより、安全で効率的な文字列操作が可能です。

C#

Posted by hidepon