C#でLinkedListに含まれるノード数を取得する方法
C#のLinkedListに含まれるノードの数を取得するには、Countプロパティを使用します。このプロパティは、リンクリスト内に実際に格納されている要素(ノード)の総数をint型で返します。
以下に、LinkedListのノード数を取得する具体的なコード例を示します。
例1:基本的なノード数の取得とClearメソッドの動作
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<String> list = new LinkedList<String>();
list.AddLast("A");
list.AddLast("B");
list.AddLast("C");
list.AddLast("D");
list.AddLast("E");
list.AddLast("F");
list.AddLast("G");
list.AddLast("H");
list.AddLast("I");
list.AddLast("J");
Console.WriteLine("ノード数 = " + list.Count);
Console.WriteLine("先頭ノード = " + list.First.Value);
list.Clear();
Console.WriteLine("ノード数(更新後) = " + list.Count);
}
}出力結果
ノード数 = 10 先頭ノード = A ノード数(更新後) = 0
コードの解説
この例では、AddLastメソッドを使って10個の文字列をLinkedListの末尾に追加しています。その後、Countプロパティでノード数「10」を取得し、First.Valueで先頭ノードの値「A」を表示しています。さらにClearメソッドですべての要素を削除すると、Countが「0」に更新されることが確認できます。
例2:複数のLinkedListでのノード数の比較
次に、別の例を見てみましょう。複数のLinkedListを作成し、それぞれのノード数や参照代入の挙動を確認します。
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(String[] args) {
LinkedList<String> list1 = new LinkedList<String>();
list1.AddLast("One");
list1.AddLast("Two");
list1.AddLast("Three");
list1.AddLast("Four");
list1.AddLast("Five");
Console.WriteLine("LinkedList1 の要素...");
foreach (string res in list1) {
Console.WriteLine(res);
}
LinkedList<String> list2 = new LinkedList<String>();
list2.AddLast("India");
list2.AddLast("US");
list2.AddLast("UK");
list2.AddLast("Canada");
list2.AddLast("Poland");
list2.AddLast("Netherlands");
Console.WriteLine("LinkedList2 の要素...");
foreach (string res in list2) {
Console.WriteLine(res);
}
LinkedList<String> list3 = new LinkedList<String>();
Console.WriteLine("LinkedList3 のノード数 = " + list3.Count);
list3 = list2;
Console.WriteLine("LinkedList3 のノード数(更新後) = " + list2.Count);
Console.WriteLine("LinkedList3 は LinkedList2 と等しいか? = " + list3.Equals(list2));
}
}出力結果
LinkedList1 の要素... One Two Three Four Five LinkedList2 の要素... India US UK Canada Poland Netherlands LinkedList3 のノード数 = 0 LinkedList3 のノード数(更新後) = 6 LinkedList3 は LinkedList2 と等しいか? = True
コードの解説
この例では、まずlist1に5つの要素、list2に6つの要素を追加し、foreachループで各要素を順番に表示しています。空のlist3を作成した時点では、Countは「0」ですが、list3 = list2;によってlist2への参照が代入されると、list3のCountも「6」となり、Equalsメソッドによる比較結果もTrueになります。これは、LinkedListが参照型であり、代入によって同じインスタンスを共有することを示しています。
まとめ
- LinkedListのノード数を取得するにはCountプロパティを使用します。
- Clearメソッドを呼び出すとすべてのノードが削除され、Countは0になります。
- LinkedListは参照型のため、別の変数に代入すると同じオブジェクトを参照します。
-
C#でファイルサイズ(バイト数)を取得する方法
C#でファイルのバイト数を確認したい場合は、FileInfo クラスが持つ Length プロパティを使うのが最も簡単です。このプロパティは、指定したファイルのサイズをバイト単位の long 型の値として返します。基本的な手順まず、対象となるファイルへのパスを指定して FileInfo オブジェクトを作成します。FileInfo file = new FileInfo(D:\\new);続いて、Length プロパティにアクセスすることで、ファイルのバイト数を取得できます。file.Lengthサンプルコード以下に、ファイルのバイト数を取得してコンソールに表示する完全なコードを示します。usi
-
Redis HLENコマンドの使い方 – ハッシュに含まれるフィールド数を取得する方法
このチュートリアルでは、RedisのHLENコマンドを使って、指定したキーに保存されているハッシュ値に含まれるフィールドの数を取得する方法を解説します。redis-cliからHLENコマンドを実行することで、ハッシュ内のフィールド総数を簡単に確認できます。 HLENコマンドの構文 redis host:port> HLEN <キー名> 指定したキーに対してHLENコマンドを実行すると、そのハッシュに登録されているフィールドの数が返されます。 実行結果(戻り値) - (integer) ハッシュに含まれるフィールドの数 - 0:キーが存在しない場合 - エラー:キーは存在するが