0Pricing
C# Academy · レッスン

文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較

文字列の不変性を理解し、文字列補間、エスケープ文字列、逐語的文字列を使います。StringBuilderで効率よくテキストを構築し、安全に比較する方法とchar/Unicodeの基礎も確認します。

「文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全3レッスンが含まれています。

テキストの概要

目標:文字列を安全かつ効率的に使用します。

  • 不変性
  • 文字列補間とエスケープ
  • 逐語的文字列
  • StringBuilder
  • 比較とカルチャーに関する注意点

不変性

不変:ToUpperやReplaceなどのメソッドは新しい文字列を返し、元の文字列は変わりません。

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string s = "hello";
    string upper = s.ToUpper();           // new string
    Console.WriteLine("s = " + s);        // hello
    Console.WriteLine("upper = " + upper);// HELLO

    string replaced = s.Replace("h", "y"); // new string
    Console.WriteLine("replaced = " + replaced);
  }
}

文字列補間とエスケープ

文字列補間には$"..."を使用します。一般的なエスケープは、\\nが改行、\\"が引用符、\\\\がバックスラッシュです。

using System;

public class Program
{
  public static void Main(string[] args)
  {
    string name = "Ada";
    int score = 95;

    // C# 6 string interpolation and escapes
    string msg = $"Hi {name}, score = {score}";
    string quoted = "She said \"hi\"";
    string line = "first line\nsecond line";

    Console.WriteLine(msg);
    Console.WriteLine(quoted);
    Console.WriteLine(line);
  }
}

逐語的文字列

逐語的文字列は@で始まり、Windows のパスや複数行のテキストに適しています。

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Verbatim string keeps backslashes and newlines as typed
    string path = @"C:\Projects\Demo\readme.txt";
    string multi = @"Line1
Line2";
    Console.WriteLine(path);
    Console.WriteLine(multi);
  }
}

StringBuilder

多数の文字列を連結する場合は、StringBuilderを使用して割り当てを減らし、パフォーマンスを向上させます。

using System;
using System.Text;

public class Program
{
  public static void Main(string[] args)
  {
    var sb = new StringBuilder();
    for (int i = 1; i <= 3; i = i + 1)
    {
      sb.Append("Item ").Append(i).Append(", ");
    }
    string result = sb.ToString();
    Console.WriteLine(result);
  }
}

比較とカルチャー、char

StringComparisonを使用して比較方法を制御します(例:OrdinalIgnoreCase)。charは UTF-16 コード単位であり、一部の絵文字にはサロゲートペアが必要です(この入門の範囲外です)。

using System;
using System.Globalization;

public class Program
{
  public static void Main(string[] args)
  {
    string a = "file";
    string b = "FILE";

    // Case-insensitive, culture-invariant comparison
    bool same = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
    Console.WriteLine("Same (ord ignore case) = " + same);

    // Culture example: ToUpper with current culture
    string iDot = "i";
    string upper = iDot.ToUpper(CultureInfo.CurrentCulture);
    Console.WriteLine("Upper(i) in current culture = " + upper);

  }
}

不変性の意味

確認:C# で文字列が不変であるとは、どういう意味ですか?

まとめ

まとめ:文字列は不変です。文字列補間とエスケープを使用し、パスには@を優先します。多数の追加にはStringBuilderを使用し、StringComparisonで比較します。また、charが UTF-16 のコード単位であることを覚えておきましょう。

よくある質問

「文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較」レッスンは無料ですか?

はい。「文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全3レッスンが含まれています。

「文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較」で何を学びますか?

文字列の不変性を理解し、文字列補間、エスケープ文字列、逐語的文字列を使います。StringBuilderで効率よくテキストを構築し、安全に比較する方法とchar/Unicodeの基礎も確認します。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C# Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC# Academyレッスンでコードを書いて実行できますか?

はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 文字列とテキスト:不変性、補間、逐語的文字列、StringBuilder、比較
  2. StringBuilder、比較とカルチャに関する注意点
  3. char、Unicodeの基礎、簡単な解析と書式設定
← C# Academyに戻る