C#のCharEnumerator.ToString()メソッドの使い方を徹底解説
C#のCharEnumerator.ToString()メソッドは、現在のオブジェクトを表す文字列を取得します。CharEnumeratorクラスは、文字列を1文字ずつ順番に列挙するための列挙子(イテレーター)であり、ToString()メソッドを呼び出すと、既定では型名である「System.CharEnumerator」という文字列が返されます。
構文
CharEnumerator.ToString()メソッドの構文は以下のとおりです。
public virtual string ToString();
戻り値のポイント
このメソッドは引数を受け取らず、現在のオブジェクトを表す文字列(string)を返します。CharEnumeratorクラスではObject.ToString()がオーバーライドされていないため、オブジェクトそのものではなく、型の完全修飾名が返される点に注意してください。
使用例
それでは、CharEnumerator.ToString()メソッドを使った実際のコード例を見てみましょう。
using System;
public class Demo {
public static void Main(){
string strNum = "This is it!";
CharEnumerator ch = strNum.GetEnumerator();
Console.WriteLine("HashCode = "+ch.GetHashCode());
Console.WriteLine("Get the Type = "+ch.GetType());
Console.WriteLine("\nString representation = "+ch.ToString());
while (ch.MoveNext())
Console.Write(ch.Current + " ");
ch.Reset();
Console.WriteLine();
while (ch.MoveNext())
Console.Write(ch.Current);
}
}
出力
上記のプログラムを実行すると、次のような結果が出力されます。
HashCode = 31020903 Get the Type = System.CharEnumerator String representation = System.CharEnumerator T h i s i s i t ! This is it!
コードの解説
このサンプルコードでは、まずGetEnumerator()メソッドを使って文字列からCharEnumeratorインスタンスを取得しています。続いて、GetHashCode()でハッシュコードを、GetType()で型情報を表示し、ToString()メソッドによって「System.CharEnumerator」という文字列表現が出力されていることが確認できます。
その後のwhileループでは、MoveNext()メソッドで列挙を1文字ずつ進めながら、Currentプロパティで現在の文字を取り出し、スペース区切りで表示しています。Reset()メソッドを呼び出すことで列挙位置が先頭にリセットされ、再度ループ処理を行うことで、元の文字列「This is it!」がそのまま出力されます。
このように、CharEnumerator.ToString()メソッド自体はデバッグやログ出力の際にオブジェクトの情報を確認するために使われるものであり、実際に文字を列挙する際にはMoveNext()とCurrentプロパティを組み合わせて使用するのが一般的です。
-
【初心者向け】JavaScriptのRegExp toString()メソッドで正規表現を文字列として取得する方法
RegExp toString()メソッドとは JavaScriptのRegExp toString()メソッドは、正規表現オブジェクト(RegExpオブジェクト)の文字列値を返すためのメソッドです。このメソッドを呼び出すと、パターンとフラグを含んだ正規表現リテラル形式(例: /fox/g)の文字列が取得できます。 デバッグ時や、正規表現の内容を画面に表示して確認したい場合などに便利なメソッドです。 以下は、RegExp toString()メソッドを使用した具体的なコード例です。 サンプルコード <!DOCTYPE html> <html lang="ja&qu
-
C#のCharEnumerator.Dispose()メソッドの使い方を徹底解説
C#におけるCharEnumerator.Dispose()メソッドは、CharEnumeratorクラスの現在のインスタンスが使用しているすべてのリソースを解放するために使用されます。文字列の各文字を列挙し終えた後などに呼び出すことで、不要になったリソースを明示的に破棄できます。構文public void Dispose ();Dispose()メソッドは引数を受け取らず、戻り値もありません。このメソッドを呼び出した後、そのインスタンスにはアクセスできなくなる点に注意してください。実装例それでは、CharEnumerator.Dispose()メソッドを使用した具体的なコード例を見てみましょ