C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のStack.ToString()メソッドの使い方を実例付きで解説

C#のStack.ToString()メソッドは、Stackクラスのオブジェクトやその要素を文字列表現として取得するために使用されます。StackはLIFO(Last In First Out:後入れ先出し)方式で動作するコレクションであり、ToString()を活用することで、格納されている各要素を文字列として簡単に出力できます。

構文

ToString()メソッドの構文は以下のとおりです。

public string ToString ();

使用例1:整数値を格納したStackの場合

次の例では、整数値をPush()メソッドでStackに追加し、foreachループの中で各要素に対してToString()を呼び出してコンソールに表示しています。さらに、ToArray()メソッドを使ってStackの内容を新しい配列へコピーする方法も併せて確認できます。

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      Stack stack = new Stack();
      stack.Push(150);
      stack.Push(300);
      stack.Push(500);
      stack.Push(750);
      stack.Push(1000);
      stack.Push(1250);
      stack.Push(1500);
      stack.Push(2000);
      stack.Push(2500);
      Console.WriteLine("Stack elements...");
      foreach(int val in stack) {
         Console.WriteLine(val.ToString());
      }
      Console.WriteLine("Count of elements = "+stack.Count);
      stack.Push(3000);
      stack.Push(3500);
      stack.Push(4000);
      Console.WriteLine("\nStack elements...updated");
      foreach(int val in stack) {
         Console.WriteLine(val.ToString());
      }
      Console.WriteLine("\nCount of elements (updated) = "+stack.Count);
      Console.WriteLine("\nCopying the Stack to a new array...");
      Object[] objArr = stack.ToArray();
      foreach(Object ob in objArr) {
         Console.WriteLine(ob);
      }
      Console.WriteLine("\nCount of elements in array = "+objArr.Length);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Stack elements...
2500
2000
1500
1250
1000
750
500
300
150
Count of elements = 9

Stack elements...updated
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150
Count of elements (updated) = 12

Copying the Stack to a new array...
4000
3500
3000
2500
2000
1500
1250
1000
750
500
300
150

Count of elements in array = 12

使用例2:文字列を格納したStackの場合

続いて、文字列を格納したStackの例です。Peek()メソッドでスタックの先頭(最後に追加された)要素を参照する方法や、Clear()メソッドですべての要素を削除する方法も併せて見ていきましょう。

using System;
using System.Collections;
public class Demo {
   public static void Main() {
      Stack stack = new Stack();
      stack.Push("Inspiron");
      stack.Push("Alienware");
      stack.Push("Projectors");
      stack.Push("Monitors");
      stack.Push("XPS");
      stack.Push("Laptop");
      stack.Push("Notebook");
      Console.WriteLine("Stack elements...");
      foreach(string val in stack) {
         Console.WriteLine(val.ToString());
      }
      Console.WriteLine("Count of elements = "+stack.Count);
      Console.WriteLine("Element at the top = "+ stack.Peek());
      stack.Push("Ultrabook");
      stack.Push("Cameras");
      stack.Push("Keyboards");
      Console.WriteLine("\nStack elements...updated");
      foreach(string val in stack) {
         Console.WriteLine(val.ToString());
      }
      Console.WriteLine("Element at the top = "+ stack.Peek());
      Console.WriteLine("\nCount of elements (updated) = "+stack.Count);
      stack.Clear();
      Console.Write("Count of elements (updated) = "+stack.Count);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Stack elements...
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Count of elements = 7
Element at the top = Notebook
Stack elements...updated
Keyboards
Cameras
Ultrabook
Notebook
Laptop
XPS
Monitors
Projectors
Alienware
Inspiron
Element at the top = Keyboards
Count of elements (updated) = 10
Count of elements (updated) = 0

このように、ToString()メソッドを使えば、Stack内の各要素を手軽に文字列形式で出力できます。デバッグ時やログ出力の際にも役立つので、ぜひ活用してみてください。

  1. JavaのMatcherクラスtoString()メソッドの使い方|サンプルコード付きで解説

    java.util.regex.Matcher クラスは、正規表現を用いた各種マッチ操作を実行する「エンジン」を表すクラスです。このクラスには公開されたコンストラクタが用意されておらず、java.util.regex.Pattern クラスの matcher(CharSequence) メソッドを呼び出して Matcher オブジェクトを取得します。 Matcher クラスの toString() メソッドは、現在の Matcher オブジェクトの状態を表す文字列を返します。返される文字列には、使用している正規表現パターン、検索対象のリージョン(開始・終了インデックス)、最後にマッチした文字

  2. 【Java】PatternクラスのtoString()メソッドの使い方と実行例

    java.util.regex パッケージの Pattern クラスは、正規表現をコンパイルした結果を表すクラスです。このクラスを利用することで、文字列に対する効率的なパターンマッチング処理を行うことができます。 toString() メソッドは、現在の Pattern オブジェクトがコンパイルされる際に使用された正規表現そのものを文字列として返します。つまり、Pattern.compile() に渡した正規表現と同じ内容を取得できます。 例1:toString()メソッドの基本的な使い方 import java.util.Scanner; import java.util.regex.Pat