C#でスタック(Stack)に含まれる要素の数を取得する方法
C#の Stack<T> クラスに含まれる要素の数を取得するには、Count プロパティを使用します。Count プロパティは、スタック内に現在格納されている要素の総数を整数値として返します。
以下に具体的なコード例を示します。
コード例1
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<string> stack = new Stack<string>();
stack.Push("A");
stack.Push("B");
stack.Push("C");
stack.Push("D");
stack.Push("E");
stack.Push("F");
stack.Push("G");
stack.Push("H");
Console.WriteLine("Count of elements = "+stack.Count);
Console.WriteLine("Elements in Stack...");
foreach (string res in stack){
Console.WriteLine(res);
}
stack.Clear();
Console.Write("Count of elements (updated) = "+stack.Count);
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Count of elements = 8 Elements in Stack... H G F E D C B A Count of elements (updated) = 0
この例では、8つの文字列を Push メソッドでスタックに追加したため、最初の Count の値は「8」となっています。また、スタックは後入れ先出し(LIFO: Last In First Out)の構造であるため、foreach ループでの列挙順序は最後に追加した「H」から始まっている点にも注目してください。
さらに、Clear() メソッドを呼び出してすべての要素を削除すると、Count の値は「0」に更新されます。このように、Count プロパティは常にスタックの現在の状態を反映します。
コード例2
次に、int 型のスタックを使った別の例を見てみましょう。
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
stack.Push(60);
stack.Push(70);
stack.Push(80);
stack.Push(90);
stack.Push(100);
Console.WriteLine("Count of elements = "+stack.Count);
Console.WriteLine("Elements in Stack...");
foreach (int res in stack){
Console.WriteLine(res);
}
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
Count of elements = 10 Elements in Stack... 100 90 80 70 60 50 40 30 20 10
このように、Stack<T> の Count プロパティを参照することで、スタックに含まれる要素の数を簡単に取得できます。要素の追加・削除を行う際に、現在の要素数を確認したい場面で非常に便利です。
-
C#でファイルサイズ(バイト数)を取得する方法
C#でファイルのバイト数を確認したい場合は、FileInfo クラスが持つ Length プロパティを使うのが最も簡単です。このプロパティは、指定したファイルのサイズをバイト単位の long 型の値として返します。基本的な手順まず、対象となるファイルへのパスを指定して FileInfo オブジェクトを作成します。FileInfo file = new FileInfo(D:\\new);続いて、Length プロパティにアクセスすることで、ファイルのバイト数を取得できます。file.Lengthサンプルコード以下に、ファイルのバイト数を取得してコンソールに表示する完全なコードを示します。usi
-
C#のStackクラスとは?使い方と基本操作をわかりやすく解説
C#のStackクラスは、要素を「後入れ先出し(LIFO:Last-In, First-Out)」の形式で管理するためのコレクションです。最後に追加した要素が最初に取り出されるという特性を持つため、履歴管理や元に戻す(Undo)処理など、特定の順序でデータを扱いたい場面で活用されます。 Stackの基本操作:Push と Pop Stackでは、要素を追加することを「プッシュ(Push)」、要素を取り出すことを「ポップ(Pop)」と呼びます。 Push:スタックの一番上に新しい要素を追加する Pop:スタックの一番上から要素を取り出して削除する Stackクラスの使用例 まず、Stackに