String クラスとは? わかりやすく解説

String クラス

テキスト一連の Unicode 文字として表現します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 String
    Implements IComparable, ICloneable, IConvertible, IComparable(Of
 String), _
    IEnumerable(Of String), IEnumerable, IEquatable(Of
 String)
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class String : IComparable, ICloneable,
 IConvertible, 
    IComparable<string>, IEnumerable<string>,
 IEnumerable, 
    IEquatable<string>
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class String sealed : IComparable,
 ICloneable, IConvertible, 
    IComparable<String^>, IEnumerable<String^>, IEnumerable, 
    IEquatable<String^>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class String implements IComparable,
 ICloneable, 
    IConvertible, IComparable<String>, IEnumerable<String>, 
    IEnumerable, IEquatable<String>
SerializableAttribute 
ComVisibleAttribute(true) 
public final class String implements IComparable,
 ICloneable, 
    IConvertible, IComparable<String>, IEnumerable<String>, 
    IEnumerable, IEquatable<String>
解説解説

文字列は、テキスト表現するために使用される Unicode 文字シーケンシャル コレクションです。String オブジェクトは、文字列を表す System.Char オブジェクトシーケンシャル コレクションです。String オブジェクトの値はシーケンシャル コレクション内容であり、この値は変更できません。

String オブジェクトは、作成時点以降に値を変更できないことから、不変 (読み取り専用) と呼ばれますString オブジェクト変更するように見えメソッドは、実際に変更内容反映され新しString オブジェクト返します文字列として使用されるオブジェクト実際内容変更する必要がある場合には、System.Text.StringBuilder クラス使用してください

文字列内のUnicode 文字は、Unicodeスカラ値によって定義されます。これは Unicodeコード ポイントまたは Unicode 文字序数値とも呼ばれます。各コード ポイントUTF-16 エンコーディング使用してエンコードされ、エンコーディング各要素数値Char オブジェクト表されます。

単一Char オブジェクト通常単一コード ポイント表します。つまり、Char数値コード ポイント等しくなります。しかし、1 つコード ポイントに対して複数エンコード要素必要になることがあります。たとえば、Unicode補助コード ポイント (サロゲート ペア) は、2 つChar オブジェクト使用してエンコードされます

インデックス

インデックスとは、String 内での Unicode 文字位置ではなくChar オブジェクト位置を示すものです。インデックスは、0 を基準とし、文字列先頭位置から始まる 0 以上の番号です。文字列先頭インデックス位置 0 になりますUnicode 文字複数Char オブジェクトとしてエンコードされる場合があるため、連続したインデックス値が連続した Unicode 文字対応するとは限りません。各 Char オブジェクトではなくUnicode 文字対象に処理を行うには、System.Globalization.StringInfo クラス使用します

序数的な操作とカルチャに依存した操作

String クラスメンバは、String オブジェクトに対して言語的または序数的な操作実行します序数的な操作は、各 Char オブジェクト数値基づいて動作します言語的な操作は、カルチャ固有の大文字と小文字並べ替え書式解析などの規則考慮してString の値に基づいて動作します言語的な操作は、カルチャが明確に宣言され場合はそのカルチャ、特に指定されなかった場合現在のカルチャのコンテキスト実行されます。現在のカルチャの詳細については、「CultureInfo.CurrentCulture」を参照してください

大文字と小文字規則は、小文字から大文字への変換など、Unicode 文字文字種を変換する方法決定します

書式指定規則は、値を文字列形式変換する方法決定します一方解析規則は、文字列形式表されたものを値に変換する方法決定します

並べ替え規則は、Unicode 文字アルファベット順並べ方法と、2 つ文字列相互に比較する方法決定します。たとえば、Compare メソッド言語に基づく比較を行うのに対して、CompareOrdinal メソッド序数に基づく比較行います。この結果として現在のカルチャが英語 (U.S.) の場合Compare メソッドでは 'a' が 'A' より小さいと見なされますが、CompareOrdinal メソッドでは、'a' は 'A' より大きいと見なされます

.NET Framework では、単語文字列、および序数での並べ替え規則サポートされています。単語での並べ替えでは、英数字以外の特定の Unicode 文字には特別な重み割り当てられる、カルチャに依存した文字列比較が行われます。たとえば、ハイフン ("-") に割り当てられる重みは非常に小さいため、並べ替えられたリスト内の "coop" と "co-op" の出現位置隣接します。文字列での並べ替えは、単語での並べ替え似ていますが、例外的な処理が行われず、英数字以外のすべての記号が、すべての英数字Unicode 文字よりも先になる点が違います

カルチャに依存した比較とは、CultureInfo.InvariantCulture プロパティによって指定されるインバリアント カルチャを含む、CultureInfo オブジェクト明示的または暗黙的に使用する比較です。現在の暗黙のカルチャは、Thread.CurrentCulture プロパティによって指定されます。

序数での並べ替えは、文字列内のChar オブジェクト数値基づいて文字列比較します。序数に基づく比較では、1 つ文字大文字形式小文字形式コード ポイント異なるため、自動的に大文字と小文字区別されます。ただし、大文字と小文字区別重要でないアプリケーション場合は、大文字と小文字区別しない序数に基づく比較を行うように指定できます。これは、インバリアント カルチャを使用して文字列大文字変換しその結果に対して序数に基づく比較実行することと同じです。

単語文字列序数での並べ替え規則詳細については、「System.Globalization.CompareOptions」を参照してください

一般に並べ替えには序数に基づく比較ではなく、カルチャに依存した比較適してます。また、2 つ文字列等価であるかどうか判断する場合 (つまり ID判別) には、カルチャに依存した比較ではなく序数に基づく比較適してます。

比較メソッドおよび検索メソッド解説では、そのメソッド大文字と小文字区別するかどうか、およびカルチャに依存するかどうか示します。定義上は、空文字列 ("") を含むすべての文字列null 参照よりも大きいと評価され、また 2 つnull 参照互いに等しいと評価されます。

正規化
セキュリティについての考慮事項
機能

String クラスは、特定の機能 (String オブジェクト比較するString オブジェクト含まれる文字または文字列のインデックス返すString オブジェクトの値をコピーする文字列分割または結合する文字列の値を変更する数値日時列挙値に書式設定して文字列変換する文字列正規化するなど) に特化したさまざまなメンバ実装しています。

実装されているインターフェイス

String クラスは、IComparable、ICloneable、IConvertible、IEnumerable、IComparable の各インターフェイス実装しています。この型の明示的な IConvertible インターフェイス メンバ実装代わりにConvert クラス使用します

継承階層継承階層
System.Object
  System.String
スレッド セーフスレッド セーフ

この型は、マルチスレッド操作に対して安全です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からString クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からString クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からString クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「String クラス」の関連用語

String クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



String クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS