三省堂 大辞林 |
.NET Framework クラス ライブラリ リファレンス |
String クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public NotInheritable Class String Implements IComparable, ICloneable, IConvertible, IComparable(Of String), _ IEnumerable(Of String), IEnumerable, IEquatable(Of String)
Dim instance As 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 参照は互いに等しいと評価されます。
一部の Unicode 文字には、組み合わせ文字や複合文字から成る、複数の等価なバイナリ表現が存在します。Unicode Standard では、同等のバイナリ表現が与えられたときに、結果的に同じ文字になるのであれば常に単一のバイナリ表現を返す、正規化と呼ばれるプロセスを定義しています。正規化は、それぞれ異なる規則に基づく複数のアルゴリズム (正規化形式) で実行されます。.NET Framework では、現在、C、D、KC、および KD 形式の正規化をサポートしています。通常、正規化された文字列のペアは、序数比較によって評価されます。
アプリケーションにおいて、シンボル識別子 (ファイル名や名前付きパイプなど) や永続化されたデータ (XML ファイルのテキスト ベースのデータなど) に関するセキュリティ上の判断を行う場合は、カルチャに依存した比較ではなく序数に基づく比較を使用する必要があります。序数に基づく比較では、比較する文字のバイナリ値に応じて結果が異なるだけですが、カルチャに依存した比較では、有効なカルチャによって結果が異なる可能性があるからです。
String クラスは、特定の機能 (String オブジェクトを比較する、String オブジェクトに含まれる文字または文字列のインデックスを返す、String オブジェクトの値をコピーする、文字列を分割または結合する、文字列の値を変更する、数値や日時、列挙値に書式を設定して文字列に変換する、文字列を正規化するなど) に特化した、さまざまなメンバを実装しています。
-
比較処理には、Compare、CompareOrdinal、CompareTo、Equals、EndsWith、StartsWith の各メソッドを使用します。
-
文字列内の部分文字列や Unicode 文字のインデックスを取得するには、IndexOf、IndexOfAny、LastIndexOf、LastIndexOfAny の各メソッドを使用します。
-
元の文字列の一部分から 1 つ以上の新しい文字列を作成するには、Substring メソッドと Split メソッドを使用します。1 つ以上の部分文字列から新しい文字列を作成するには、Concat メソッドと Join メソッドを使用します。
-
文字列の全体または一部を変更するには、Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd、および TrimStart を使用します。
-
文字列内の Unicode 文字の大文字/小文字を変更するには、ToLower、ToLowerInvariant、ToUpper、ToUpperInvariant の各メソッドを使用します。
-
文字列中に設定された書式項目のプレースホルダを、対応する数値、日付、時刻、または列挙値のテキスト表現に置き換えるには、Format を使用します。
-
文字列内の Char オブジェクトの数を取得するには、Length プロパティを使用します。文字列内の実際の Char オブジェクトにアクセスするには、Chars を使用します。
-
文字列が特定の正規形に正規化されているかを判定するには、IsNormalized メソッドを使用します。特定の正規形に正規化された文字列を作成するには、Normalize メソッドを使用します。
String クラスは、IComparable、ICloneable、IConvertible、IEnumerable、IComparable の各インターフェイスを実装しています。この型の明示的な IConvertible インターフェイス メンバの実装の代わりに、Convert クラスを使用します。
継承階層System.String
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String メンバ
System 名前空間
IComparable インターフェイス
ICloneable インターフェイス
IConvertible インターフェイス
IEnumerable
System.Text.StringBuilder
CultureInfo
その他の技術情報
書式設定の概要
String コンストラクタ (Char*)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
[CLSCompliantAttribute(false)] public: String ( wchar_t* value )
例外
解説value が null ポインタの場合は、Empty インスタンスが初期化されます。
このコンストラクタは、Unicode 文字シーケンスを、指定したポインタの位置から null 文字 (16 進数で 0x00) までコピーします。
指定した配列が null で終わっていない場合、このコンストラクタの動作はシステムに依存します。たとえば、このような状況は、アクセス違反の原因となる可能性があります。
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (SByte*, Int32, Int32, Encoding)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
[CLSCompliantAttribute(false)] public String ( sbyte* value, int startIndex, int length, Encoding enc )
[CLSCompliantAttribute(false)] public: String ( signed char* value, int startIndex, int length, Encoding^ enc )
例外| 例外の種類 | 条件 |
|---|---|
| value が null 参照 (Visual Basic では Nothing) です。 | |
| startIndex または length が 0 未満です。 または value + startIndex によって指定されるアドレスが、現在のプラットフォームで扱うことのできる範囲を超えたため、アドレス計算がオーバーフローしました。 または | |
| value + startIndex によって指定されたアドレスが 64K 未満です。 または (value が enc の指定に基づいてエンコードされていると仮定すると) value では、String の新しいインスタンスを初期化できません。 | |
解説value パラメータには、enc の指定に基づいてエンコードされた文字列を表す配列へのポインタを指定する必要があります。
length がゼロの場合は、新しいインスタンスが空の文字列 ("") に初期化されます。
このコンストラクタは value の startIndex から (startIndex + length - 1) までの文字を処理します。
指定した範囲が、この一連の文字に割り当てられたメモリの外部にある場合、このコンストラクタの動作はシステムに依存します。たとえば、このような状況は、アクセス違反の原因となる可能性があります。
使用例このコンストラクタを使用して UTF-8 String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
unsafe
{
String utfeightstring = null;
sbyte [] asciiChars = new sbyte[] { 0x51,0x52,0x53,0x54,0x54,0x56
};
UTF8Encoding encoding = new UTF8Encoding(true,
true);
// Instruct the Garbage Collector not to move the memory
fixed(sbyte* pAsciiChars = asciiChars)
{
utfeightstring = new String(pAsciiChars,0,asciiChars.Length
,encoding);
}
Console.WriteLine("The UTF8 String is " + utfeightstring ); //
prints "QRSTTV"
}
char asciiChars[6] = {0x51,0x52,0x53,0x54,0x54,0x56}; char * pstr6 = &asciiChars[ 0 ]; UTF8Encoding^ encoding = gcnew UTF8Encoding( true,true ); String^ utfeightstring = gcnew String( pstr6,0,sizeof(asciiChars),encoding ); // prints "QRSTTV" Console::WriteLine( String::Concat( "The UTF8 String is ", utfeightstring ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (SByte*, Int32, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
例外
解説value パラメータは、ASCII エンコードの文字列を表す配列へのポインタを指定する必要があります。つまり、文字列は、ANSI コード ページを使ってエンコードされます。
length がゼロの場合は、新しいインスタンスが空の文字列 ("") に初期化されます。
このコンストラクタは value の startIndex から (startIndex + length - 1) までの文字を処理します。
指定した範囲が、この一連の文字に割り当てられたメモリの外部にある場合、このコンストラクタの動作はシステムに依存します。たとえば、このような状況は、アクセス違反の原因となる可能性があります。
使用例このコンストラクタを使用して String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
unsafe
{
// Null terminated ASCII characters in an sbyte array
String szAsciiUpper = null;
sbyte[] sbArr1 = new sbyte[] { 0x41, 0x42, 0x43, 0x00 };
// Instruct the Garbage Collector not to move the memory
fixed(sbyte* pAsciiUpper = sbArr1)
{
szAsciiUpper = new String(pAsciiUpper);
}
String szAsciiLower = null;
sbyte[] sbArr2 = { 0x61, 0x62, 0x63, 0x00 };
// Instruct the Garbage Collector not to move the memory
fixed(sbyte* pAsciiLower = sbArr2)
{
szAsciiLower = new String(pAsciiLower, 0, sbArr2.Length);
}
// Prints "ABC abc"
Console.WriteLine(szAsciiUpper + " " + szAsciiLower);
// Compare Strings - the result is true
Console.WriteLine("The Strings are equal when capitalized ? " +
(String.Compare(szAsciiUpper.ToUpper(), szAsciiLower.ToUpper())==0?"true":"false")
);
// This is the effective equivalent of another Compare method, which
ignores case
Console.WriteLine("The Strings are equal when capitalized ? " +
(String.Compare(szAsciiUpper, szAsciiLower, true)==0?"true":"false")
);
}
// Null terminated ASCII characters in a simple char array char charArray3[4] = {0x41,0x42,0x43,0x00}; char * pstr3 = &charArray3[ 0 ]; String^ szAsciiUpper = gcnew String( pstr3 ); char charArray4[4] = {0x61,0x62,0x63,0x00}; char * pstr4 = &charArray4[ 0 ]; String^ szAsciiLower = gcnew String( pstr4,0,sizeof(charArray4) ); // Prints "ABC abc" Console::WriteLine( String::Concat( szAsciiUpper, " ", szAsciiLower ) ); // Compare Strings - the result is true Console::WriteLine( String::Concat( "The Strings are equal when capitalized ? ", (0 == String::Compare( szAsciiUpper->ToUpper(), szAsciiLower->ToUpper() ) ? (String^)"TRUE" : "FALSE") ) ); // This is the effective equivalent of another Compare method, which ignores case Console::WriteLine( String::Concat( "The Strings are equal when capitalized ? ", (0 == String::Compare( szAsciiUpper, szAsciiLower, true ) ? (String^)"TRUE" : "FALSE") ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (SByte*)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
例外
解説value パラメータは、ASCII エンコードの文字列を表す配列へのポインタを指定する必要があります。つまり、文字列は、ANSI コード ページを使ってエンコードされます。
このコンストラクタは、このポインタが指定する位置を先頭に、null 文字 (16 進 0x00) に達するまで value の文字をコピーします。
指定した配列が null で終わっていない場合、このコンストラクタの動作はシステムに依存します。たとえば、このような状況は、アクセス違反の原因となる可能性があります。
使用例このコンストラクタを使用して String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
unsafe
{
// Null terminated ASCII characters in an sbyte array
String szAsciiUpper = null;
sbyte[] sbArr1 = new sbyte[] { 0x41, 0x42, 0x43, 0x00 };
// Instruct the Garbage Collector not to move the memory
fixed(sbyte* pAsciiUpper = sbArr1)
{
szAsciiUpper = new String(pAsciiUpper);
}
String szAsciiLower = null;
sbyte[] sbArr2 = { 0x61, 0x62, 0x63, 0x00 };
// Instruct the Garbage Collector not to move the memory
fixed(sbyte* pAsciiLower = sbArr2)
{
szAsciiLower = new String(pAsciiLower, 0, sbArr2.Length);
}
// Prints "ABC abc"
Console.WriteLine(szAsciiUpper + " " + szAsciiLower);
// Compare Strings - the result is true
Console.WriteLine("The Strings are equal when capitalized ? " +
(String.Compare(szAsciiUpper.ToUpper(), szAsciiLower.ToUpper())==0?"true":"false")
);
// This is the effective equivalent of another Compare method, which
ignores case
Console.WriteLine("The Strings are equal when capitalized ? " +
(String.Compare(szAsciiUpper, szAsciiLower, true)==0?"true":"false")
);
}
// Null terminated ASCII characters in a simple char array char charArray3[4] = {0x41,0x42,0x43,0x00}; char * pstr3 = &charArray3[ 0 ]; String^ szAsciiUpper = gcnew String( pstr3 ); char charArray4[4] = {0x61,0x62,0x63,0x00}; char * pstr4 = &charArray4[ 0 ]; String^ szAsciiLower = gcnew String( pstr4,0,sizeof(charArray4) ); // Prints "ABC abc" Console::WriteLine( String::Concat( szAsciiUpper, " ", szAsciiLower ) ); // Compare Strings - the result is true Console::WriteLine( String::Concat( "The Strings are equal when capitalized ? ", (0 == String::Compare( szAsciiUpper->ToUpper(), szAsciiLower->ToUpper() ) ? (String^)"TRUE" : "FALSE") ) ); // This is the effective equivalent of another Compare method, which ignores case Console::WriteLine( String::Concat( "The Strings are equal when capitalized ? ", (0 == String::Compare( szAsciiUpper, szAsciiLower, true ) ? (String^)"TRUE" : "FALSE") ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (Char*, Int32, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
例外
解説length が 0 の場合は、Empty インスタンスが初期化されます。
このコンストラクタは value の startIndex から (startIndex + length - 1) までの Unicode 文字をコピーします。
指定した範囲が、この一連の文字に割り当てられたメモリの外部にある場合、このコンストラクタの動作はシステムに依存します。たとえば、このような状況は、アクセス違反の原因となる可能性があります。
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (Char[], Int32, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)
構文Dim value As Char() Dim startIndex As Integer Dim length As Integer Dim instance As New String(value, startIndex, length)
例外
解説length が 0 の場合は、Empty インスタンスが初期化されます。
このコンストラクタは value の startIndex から (startIndex + length - 1) までの Unicode 文字をコピーします。
パフォーマンスに関する考慮事項テキスト ストリームを解析またはデコードするアプリケーションでは、一連の文字を文字列に変換するために、String コンストラクタまたは StringBuilder.Append メソッドが頻繁に使用されます。まったく同じ一連の文字が繰り返し出現する場合、その都度、同じ値を使って新しい文字列を作成していると、文字列を一度だけ作成して再利用した場合に比べ、メモリの消費が激しくなります。
まったく同じ一連の文字が出現することはわかっていても、具体的な中身を予測できない場合は、String コンストラクタで新しい String オブジェクトを作成するのではなく、ルックアップ テーブルの使用を検討してください。たとえば、XML のタグおよび属性を含むファイルから文字のストリームを読み込んで解析するアプリケーションを考えてみます。このストリームを解析すると、特定のトークン (記号的意味合いを持つ一連の文字) が繰り返し出現します。XML ストリームでは、"0"、"1"、"true"、"false" などの文字列に相当するトークンが頻繁に現れる傾向があります。
出現する各トークンを新しい文字列に変換する代わりに、NameTable オブジェクトを作成して、よく使用される文字列を保持できます。NameTable オブジェクトは、格納された文字列を取得するときに一時メモリを割り当てないので、パフォーマンスが向上します。
アプリケーションはトークンを見つけると、NameTable.Get メソッドを使用してそのトークンをテーブルから取得しようとします。トークンが存在する場合、メソッドは対応する文字列を返します。トークンが存在しない場合は、NameTable.Add メソッドを使用して、トークンをテーブルに挿入します。トークンを挿入すると、メソッドは対応する文字列を返します。いずれの場合も、アプリケーションに適した文字列が返されます。
使用例このコンストラクタを使用して String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
// Create a Unicode String with 5 Greek Alpha characters String szGreekAlpha = new String('\u0319',5); // Create a Unicode String with a Greek Omega character String szGreekOmega = new String(new char [] {'\u03A9','\u03A9','\u03A9'},2,1); String szGreekLetters = String.Concat(szGreekOmega, szGreekAlpha, szGreekOmega.Clone()); // Examine the result Console.WriteLine(szGreekLetters); // The first index of Alpha int ialpha = szGreekLetters.IndexOf('\u0319'); // The last index of Omega int iomega = szGreekLetters.LastIndexOf('\u03A9'); Console.WriteLine("The Greek letter Alpha first appears at index " + ialpha + " and Omega last appears at index " + iomega + " in this String.");
// Create a Unicode String with 5 Greek Alpha characters String^ szGreekAlpha = gcnew String( L'\x0319',5 ); // Create a Unicode String with a Greek Omega character wchar_t charArray5[3] = {L'\x03A9',L'\x03A9',L'\x03A9'}; String^ szGreekOmega = gcnew String( charArray5,2,1 ); String^ szGreekLetters = String::Concat( szGreekOmega, szGreekAlpha, szGreekOmega->Clone() ); // Examine the result Console::WriteLine( szGreekLetters ); // The first index of Alpha int ialpha = szGreekLetters->IndexOf( L'\x0319' ); // The last index of Omega int iomega = szGreekLetters->LastIndexOf( L'\x03A9' ); Console::WriteLine( String::Concat( "The Greek letter Alpha first appears at index ", Convert::ToString( ialpha ) ) ); Console::WriteLine( String::Concat( " and Omega last appears at index ", Convert::ToString( iomega ), " in this String." ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ
オーバーロードの一覧
参照String コンストラクタ (Char[])
アセンブリ: mscorlib (mscorlib.dll 内)
構文
解説
使用例このコンストラクタを使用して String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
// Unicode Mathematical operators char [] charArr1 = {'\u2200','\u2202','\u200F','\u2205'}; String szMathSymbols = new String(charArr1); // Unicode Letterlike Symbols char [] charArr2 = {'\u2111','\u2118','\u2122','\u2126'}; String szLetterLike = new String (charArr2); // Compare Strings - the result is false Console.WriteLine("The Strings are equal? " + (String.Compare(szMathSymbols, szLetterLike)==0?"true":"false") );
// Unicode Mathematical operators wchar_t charArray1[4] = {L'\x2200',L'\x2202',L'\x200F',L'\x2205'}; wchar_t * lptstr1 = &charArray1[ 0 ]; String^ wszMathSymbols = gcnew String( lptstr1 ); // Unicode Letterlike Symbols wchar_t charArray2[4] = {L'\x2111',L'\x2118',L'\x2122',L'\x2126'}; wchar_t * lptstr2 = &charArray2[ 0 ]; String^ wszLetterLike = gcnew String( lptstr2 ); // Compare Strings - the result is false Console::WriteLine( String::Concat( L"The Strings are equal? ", (0 == String::Compare( wszLetterLike, wszMathSymbols ) ? (String^)"TRUE" : "FALSE") ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String コンストラクタ (Char, Int32)
アセンブリ: mscorlib (mscorlib.dll 内)
構文
例外
解説
使用例このコンストラクタを使用して String クラスのインスタンスを作成する方法を次の簡単なコード例で示します。
// Create a Unicode String with 5 Greek Alpha characters String szGreekAlpha = new String('\u0319',5); // Create a Unicode String with a Greek Omega character String szGreekOmega = new String(new char [] {'\u03A9','\u03A9','\u03A9'},2,1); String szGreekLetters = String.Concat(szGreekOmega, szGreekAlpha, szGreekOmega.Clone()); // Examine the result Console.WriteLine(szGreekLetters); // The first index of Alpha int ialpha = szGreekLetters.IndexOf('\u0319'); // The last index of Omega int iomega = szGreekLetters.LastIndexOf('\u03A9'); Console.WriteLine("The Greek letter Alpha first appears at index " + ialpha + " and Omega last appears at index " + iomega + " in this String.");
// Create a Unicode String with 5 Greek Alpha characters String^ szGreekAlpha = gcnew String( L'\x0319',5 ); // Create a Unicode String with a Greek Omega character wchar_t charArray5[3] = {L'\x03A9',L'\x03A9',L'\x03A9'}; String^ szGreekOmega = gcnew String( charArray5,2,1 ); String^ szGreekLetters = String::Concat( szGreekOmega, szGreekAlpha, szGreekOmega->Clone() ); // Examine the result Console::WriteLine( szGreekLetters ); // The first index of Alpha int ialpha = szGreekLetters->IndexOf( L'\x0319' ); // The last index of Omega int iomega = szGreekLetters->LastIndexOf( L'\x03A9' ); Console::WriteLine( String::Concat( "The Greek letter Alpha first appears at index ", Convert::ToString( ialpha ) ) ); Console::WriteLine( String::Concat( " and Omega last appears at index ", Convert::ToString( iomega ), " in this String." ) );
プラットフォームWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照String フィールド
パブリック フィールド
参照関連項目
String クラスSystem 名前空間
IComparable インターフェイス
ICloneable インターフェイス
IConvertible インターフェイス
IEnumerable
System.Text.StringBuilder
CultureInfo
その他の技術情報
書式設定の概要String プロパティ
パブリック プロパティ
参照関連項目
String クラスSystem 名前空間
IComparable インターフェイス
ICloneable インターフェイス
IConvertible インターフェイス
IEnumerable
System.Text.StringBuilder
CultureInfo
その他の技術情報
書式設定の概要String メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Clone | この String インスタンスへの参照を返します。 |
| Compare | オーバーロードされます。 指定した 2 つの String オブジェクトを比較します。 |
| CompareOrdinal | オーバーロードされます。 それぞれの文字列の対応する Char オブジェクトの数値を評価することで、2 つの String を比較します。 |
| CompareTo | オーバーロードされます。 指定したオブジェクトまたは String とこのインスタンスを比較し、これらの相対値を示す値を返します。 |
| Concat | オーバーロードされます。 String の 1 つ以上のインスタンス、または Object の 1 つ以上のインスタンスの String 形式の値を連結します。 |
| Contains | 指定した String オブジェクトがこの文字列内に存在するかどうかを示す値を返します。 |
| Copy | 指定した String と同じ値を使用して、String の新しいインスタンスを作成します。 |
| CopyTo | このインスタンスの指定位置から指定した数の文字を、Unicode 文字の配列内の指定位置へコピーします。 |
| EndsWith | オーバーロードされます。 String インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。 |
| Equals | オーバーロードされます。 オーバーライドされます。 2 つの String オブジェクトの値が同一かどうかを判断します。 |
| Format | オーバーロードされます。 指定した String の各書式項目を、対応するオブジェクトの値と等価のテキストに置換します。 |
| GetEnumerator | この文字列に含まれる個々の文字を反復処理するオブジェクトを取得します。 |
| GetHashCode | オーバーライドされます。 この文字列のハッシュ コードを返します。 |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| GetTypeCode | String クラスの TypeCode を返します。 |
| IndexOf | オーバーロードされます。 String (1 つ以上の文字) がこの文字列内で最初に見つかった位置のインデックスをレポートします。 |
| IndexOfAny | オーバーロードされます。 Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置のインデックスをレポートします。 |
| Insert | このインスタンス内の指定したインデックス位置に、指定した String インスタンスを挿入します。 |
| Intern | 指定した String へのシステム参照を取得します。 |
| IsInterned | 指定した String への参照を取得します。 |
| IsNormalized | オーバーロードされます。 この文字列が、特定の Unicode 正規形であるかどうかを示します。 |
| IsNullOrEmpty | 指定された String オブジェクトが null 参照 (Visual Basic では Nothing) または Empty 文字列であるかどうかを示します。 |
| Join | オーバーロードされます。 指定した String 配列の各要素間にある指定した区切り記号 String を連結し、連結された単一の文字列を作成します。 |
| LastIndexOf | オーバーロードされます。 このインスタンス内で最後に出現する指定 Unicode 文字または String のインデックス位置をレポートします。 |
| LastIndexOfAny | オーバーロードされます。 Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかったインデックス位置をレポートします。 |
| Normalize | オーバーロードされます。 バイナリ表現が特定の Unicode 正規形である新しい文字列を返します。 |
| op_Equality | 指定した 2 つの String オブジェクトの値が同一かどうかを判断します。 |
| op_Inequality | 指定した 2 つの String オブジェクトの値が異なるかどうかを判断します。 |
| PadLeft | オーバーロードされます。 このインスタンス内の文字を右寄せし、指定した文字列の文字数になるまで、左側に空白または指定した Unicode 文字を埋め込みます。 |
| PadRight | オーバーロードされます。 この文字列の文字を左寄せし、指定した文字列の文字数になるまで、指定した Unicode 文字または空白を右側に埋め込みます。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| Remove | オーバーロードされます。 このインスタンスから、指定した文字数を削除します。 |
| Replace | オーバーロードされます。 このインスタンスに出現する指定 Unicode 文字または String をすべて、別に指定した Unicode 文字または String に置換します。 |
| Split | オーバーロードされます。 このインスタンス内の、指定された Char 配列または String 配列の要素で区切られた部分文字列を格納する String 配列を返します。 |
| StartsWith | オーバーロードされます。 String インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。 |
| Substring | オーバーロードされます。 インスタンスから部分文字列を取得します。 |
| ToCharArray | オーバーロードされます。 このインスタンスの文字を Unicode 文字配列へコピーします。 |
| ToLower | オーバーロードされます。 String のコピーを小文字に変換して返します。 |
| ToLowerInvariant | インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを小文字に変換して返します。 |
| ToString | オーバーロードされます。 オーバーライドされます。 このインスタンスの値を String に変換します。 |
| ToUpper | オーバーロードされます。 String のコピーを大文字に変換して返します。 |
| ToUpperInvariant | インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを大文字に変換して返します。 |
| Trim | オーバーロードされます。 このインスタンスの先頭と末尾で、指定された文字が 1 つ以上連続している場合、指定された文字をすべて削除します。 |
| TrimEnd | このインスタンスの末尾から、配列で指定された文字セットをすべて削除します。 |
| TrimStart | このインスタンスの先頭から、配列で指定された文字セットをすべて削除します。 |
明示的インターフェイスの実装| 名前 | 説明 | |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.Char>.GetEnumerator | 現在の String オブジェクトを反復処理する列挙子を返します。 |
| System.Collections.IEnumerable.GetEnumerator | 現在の String オブジェクトを反復処理する列挙子を返します。 |
| System.IConvertible.ToBoolean | 現在の String オブジェクトの値をブール値に変換します。 |
| System.IConvertible.ToByte | 現在の String オブジェクトの値を 8 ビット符号なし整数に変換します。 |
| System.IConvertible.ToChar | 長さ 1 の空以外の文字列を Char オブジェクトに変換します。 |
| System.IConvertible.ToDateTime | 現在の String オブジェクトの値を日時値に変換します。 |
| System.IConvertible.ToDecimal | 現在の String オブジェクトの値を 10 進数に変換します。 |
| System.IConvertible.ToDouble | 現在の String オブジェクトの値を、倍精度浮動小数点数に変換します。 |
| System.IConvertible.ToInt16 | 現在の String オブジェクトの値を 16 ビット符号付き整数に変換します。 |
| System.IConvertible.ToInt32 | 現在の String オブジェクトの値を 32 ビット符号付き整数に変換します。 |
| System.IConvertible.ToInt64 | 現在の String オブジェクトの値を 64 ビット符号付き整数に変換します。 |
| System.IConvertible.ToSByte | 現在の String オブジェクトの値を 8 ビット符号付き整数に変換します。 |
| System.IConvertible.ToSingle | 現在の String オブジェクトの値を、単精度浮動小数点数に変換します。 |
| System.IConvertible.ToType | 現在の String オブジェクトの値を、指定された型のオブジェクトに変換します。 |
| System.IConvertible.ToUInt16 | 現在の String オブジェクトの値を 16 ビット符号なし整数に変換します。 |
| System.IConvertible.ToUInt32 | 現在の String オブジェクトの値を 32 ビット符号なし整数に変換します。 |
| System.IConvertible.ToUInt64 | 現在の String オブジェクトの値を 64 ビット符号なし整数に変換します。 |
参照関連項目
String クラスSystem 名前空間
IComparable インターフェイス
ICloneable インターフェイス
IConvertible インターフェイス
IEnumerable
System.Text.StringBuilder
CultureInfo
その他の技術情報
書式設定の概要String メンバ
String データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック フィールド
パブリック プロパティ
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| Clone | この String インスタンスへの参照を返します。 |
| Compare | オーバーロードされます。 指定した 2 つの String オブジェクトを比較します。 |
| CompareOrdinal | オーバーロードされます。 それぞれの文字列の対応する Char オブジェクトの数値を評価することで、2 つの String を比較します。 |
| CompareTo | オーバーロードされます。 指定したオブジェクトまたは String とこのインスタンスを比較し、これらの相対値を示す値を返します。 |
| Concat | オーバーロードされます。 String の 1 つ以上のインスタンス、または Object の 1 つ以上のインスタンスの String 形式の値を連結します。 |
| Contains | 指定した String オブジェクトがこの文字列内に存在するかどうかを示す値を返します。 |
| Copy | 指定した String と同じ値を使用して、String の新しいインスタンスを作成します。 |
| CopyTo | このインスタンスの指定位置から指定した数の文字を、Unicode 文字の配列内の指定位置へコピーします。 |
| EndsWith | オーバーロードされます。 String インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。 |
| Equals | オーバーロードされます。 オーバーライドされます。 2 つの String オブジェクトの値が同一かどうかを判断します。 |
| Format | オーバーロードされます。 指定した String の各書式項目を、対応するオブジェクトの値と等価のテキストに置換します。 |
| GetEnumerator | この文字列に含まれる個々の文字を反復処理するオブジェクトを取得します。 |
| GetHashCode | オーバーライドされます。 この文字列のハッシュ コードを返します。 |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| GetTypeCode | String クラスの TypeCode を返します。 |
| IndexOf | オーバーロードされます。 String (1 つ以上の文字) がこの文字列内で最初に見つかった位置のインデックスをレポートします。 |
| IndexOfAny | オーバーロードされます。 Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置のインデックスをレポートします。 |
| Insert | このインスタンス内の指定したインデックス位置に、指定した String インスタンスを挿入します。 |
| Intern | 指定した String へのシステム参照を取得します。 |
| IsInterned | 指定した String への参照を取得します。 |
| IsNormalized | オーバーロードされます。 この文字列が、特定の Unicode 正規形であるかどうかを示します。 |
| IsNullOrEmpty | 指定された String オブジェクトが null 参照 (Visual Basic では Nothing) または Empty 文字列であるかどうかを示します。 |
| Join | オーバーロードされます。 指定した String 配列の各要素間にある指定した区切り記号 String を連結し、連結された単一の文字列を作成します。 |
| LastIndexOf | オーバーロードされます。 このインスタンス内で最後に出現する指定 Unicode 文字または String のインデックス位置をレポートします。 |
| LastIndexOfAny | オーバーロードされます。 Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかったインデックス位置をレポートします。 |
| Normalize | オーバーロードされます。 バイナリ表現が特定の Unicode 正規形である新しい文字列を返します。 |
| op_Equality | 指定した 2 つの String オブジェクトの値が同一かどうかを判断します。 |
| op_Inequality | 指定した 2 つの String オブジェクトの値が異なるかどうかを判断します。 |
| PadLeft | オーバーロードされます。 このインスタンス内の文字を右寄せし、指定した文字列の文字数になるまで、左側に空白または指定した Unicode 文字を埋め込みます。 |
| PadRight | オーバーロードされます。 この文字列の文字を左寄せし、指定した文字列の文字数になるまで、指定した Unicode 文字または空白を右側に埋め込みます。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| Remove | オーバーロードされます。 このインスタンスから、指定した文字数を削除します。 |
| Replace | オーバーロードされます。 このインスタンスに出現する指定 Unicode 文字または String をすべて、別に指定した Unicode 文字または String に置換します。 |
| Split | オーバーロードされます。 このインスタンス内の、指定された Char 配列または String 配列の要素で区切られた部分文字列を格納する String 配列を返します。 |
| StartsWith | オーバーロードされます。 String インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。 |
| Substring | オーバーロードされます。 インスタンスから部分文字列を取得します。 |
| ToCharArray | オーバーロードされます。 このインスタンスの文字を Unicode 文字配列へコピーします。 |
| ToLower | オーバーロードされます。 String のコピーを小文字に変換して返します。 |
| ToLowerInvariant | インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを小文字に変換して返します。 |
| ToString | オーバーロードされます。 オーバーライドされます。 このインスタンスの値を String に変換します。 |
| ToUpper | オーバーロードされます。 String のコピーを大文字に変換して返します。 |
| ToUpperInvariant | インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを大文字に変換して返します。 |
| Trim | オーバーロードされます。 このインスタンスの先頭と末尾で、指定された文字が 1 つ以上連続している場合、指定された文字をすべて削除します。 |
| TrimEnd | このインスタンスの末尾から、配列で指定された文字セットをすべて削除します。 |
| TrimStart | このインスタンスの先頭から、配列で指定された文字セットをすべて削除します。 |
明示的インターフェイスの実装| 名前 | 説明 | |
|---|---|---|
| System.Collections.Generic.IEnumerable<System.Char>.GetEnumerator | 現在の String オブジェクトを反復処理する列挙子を返します。 |
| System.Collections.IEnumerable.GetEnumerator | 現在の String オブジェクトを反復処理する列挙子を返します。 |
| System.IConvertible.ToBoolean | 現在の String オブジェクトの値をブール値に変換します。 |
| System.IConvertible.ToByte | 現在の String オブジェクトの値を 8 ビット符号なし整数に変換します。 |
| System.IConvertible.ToChar | 長さ 1 の空以外の文字列を Char オブジェクトに変換します。 |
| System.IConvertible.ToDateTime | 現在の String オブジェクトの値を日時値に変換します。 |
| System.IConvertible.ToDecimal | 現在の String オブジェクトの値を 10 進数に変換します。 |
| System.IConvertible.ToDouble | 現在の String オブジェクトの値を、倍精度浮動小数点数に変換します。 |
| System.IConvertible.ToInt16 | 現在の String オブジェクトの値を 16 ビット符号付き整数に変換します。 |
| System.IConvertible.ToInt32 | 現在の String オブジェクトの値を 32 ビット符号付き整数に変換します。 |
| System.IConvertible.ToInt64 | 現在の String オブジェクトの値を 64 ビット符号付き整数に変換します。 |
| System.IConvertible.ToSByte | 現在の String オブジェクトの値を 8 ビット符号付き整数に変換します。 |
| System.IConvertible.ToSingle | 現在の String オブジェクトの値を、単精度浮動小数点数に変換します。 |
| System.IConvertible.ToType | 現在の String オブジェクトの値を、指定された型のオブジェクトに変換します。 |
| System.IConvertible.ToUInt16 | 現在の String オブジェクトの値を 16 ビット符号なし整数に変換します。 |
| System.IConvertible.ToUInt32 | 現在の String オブジェクトの値を 32 ビット符号なし整数に変換します。 |
| System.IConvertible.ToUInt64 | 現在の String オブジェクトの値を 64 ビット符号なし整数に変換します。 |
参照関連項目
String クラスSystem 名前空間
IComparable インターフェイス
ICloneable インターフェイス
IConvertible インターフェイス
IEnumerable
System.Text.StringBuilder
CultureInfo
その他の技術情報
書式設定の概要ウィキペディア |
ストリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2011/11/19 02:24 UTC 版)
(String から転送)
ストリング(string)
- 1 ストリングとは
- 2 ストリングの概要
Stringに関係した商品
- 信頼のハシモト製ランドセル。男の子向けサンリオ新ブランド誕生!!FIRST STRING2012年A4クリアファイル対応モデル♪レビュー記入特典付き♪ FIRST-STRING(コンビTYPE) 男の子用サンリオランドセル☆購入特典付き☆【送料無料】ランドセルパーク 楽天市場店
- 信頼のハシモト製ランドセル。男の子向けサンリオ新ブランド誕生!!FIRST STRING2012年A4クリアファイル対応モデル♪レビュー記入特典付き♪ FIRST-STRING(クールTYPE) 男の子用サンリオランドセル☆購入特典付き☆【送料無料】ランドセルパーク 楽天市場店
- ハイパーヨーヨー ハイパーストリング同等品ストリング (タイプ6:50/50) x100 String type 6 (50/50) x100ヨーヨーストア REWIND 楽天市場店