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

【C#入門】2つのSortedListオブジェクトが等しいかどうかを確認する方法

C#でSortedList同士の等価性を確認するには

C#において、2つのSortedListオブジェクトが等しいかどうかを確認するには、Equals()メソッドを使用します。このメソッドは、比較対象のオブジェクトが同じインスタンス(同一の参照)を指している場合にtrueを返し、それぞれ別のインスタンスである場合は内容が同じでもfalseを返します。

以下に具体的なサンプルコードを示します。

サンプルコード例1

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args) {
      SortedList list1 = new SortedList();
      list1.Add("One", 1);
      list1.Add("Two ", 2);
      list1.Add("Three ", 3);
      list1.Add("Four", 4);
      list1.Add("Five", 5);
      list1.Add("Six", 6);
      list1.Add("Seven ", 7);
      list1.Add("Eight ", 8);
      list1.Add("Nine", 9);
      list1.Add("Ten", 10);

      Console.WriteLine("SortedList1 の要素...");
      foreach(DictionaryEntry d in list1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      SortedList list2 = new SortedList();
      list2.Add("A", "Accessories");
      list2.Add("B", "Books");
      list2.Add("C", "Smart Wearable Tech");
      list2.Add("D", "Home Appliances");

      Console.WriteLine("\nSortedList2 の要素...");
      foreach(DictionaryEntry d in list2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      // 参照の代入により、list3はlist2と同じインスタンスを指す
      SortedList list3 = new SortedList();
      list3 = list2;

      Console.WriteLine("\nSortedList2とSortedList3は等しいか? = " + list3.Equals(list2));
   }
}

実行結果

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

SortedList1 の要素...
Eight  8
Five 5
Four 4
Nine 9
One 1
Seven  7
Six 6
Ten 10
Three  3
Two  2

SortedList2 の要素...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
Is SortedList2 equal to SortedList3? = True

この例では、list3 = list2;によってlist3にlist2の参照が代入されているため、両者は同一のオブジェクトを指しています。そのため、Equals()メソッドの結果はTrueとなります。

サンプルコード例2

続いて、別々に作成した2つのSortedListオブジェクトを比較する例を見てみましょう。

using System;
using System.Collections;

public class Demo {
   public static void Main(String[] args) {
      SortedList list1 = new SortedList();
      list1.Add("One", 1);
      list1.Add("Two ", 2);
      list1.Add("Three ", 3);
      list1.Add("Four", 4);
      list1.Add("Five", 5);
      list1.Add("Six", 6);
      list1.Add("Seven ", 7);
      list1.Add("Eight ", 8);
      list1.Add("Nine", 9);
      list1.Add("Ten", 10);

      Console.WriteLine("SortedList1 の要素(キーと値のペア)...");
      foreach(DictionaryEntry d in list1) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      SortedList list2 = new SortedList();
      list2.Add("A", "Accessories");
      list2.Add("B", "Books");
      list2.Add("C", "Smart Wearable Tech");
      list2.Add("D", "Home Appliances");

      Console.WriteLine("\nSortedList2 の要素(キーと値のペア)...");
      foreach(DictionaryEntry d in list2) {
         Console.WriteLine(d.Key + " " + d.Value);
      }

      Console.WriteLine("\nSortedList2とSortedList1は等しいか? = " + list2.Equals(list1));
   }
}

実行結果

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

SortedList1 の要素(キーと値のペア)...
Eight  8
Five 5
Four 4
Nine 9
One 1
Seven  7
Six 6
Ten 10
Three  3
Two  2
SortedList2 の要素(キーと値のペア)...
A Accessories
B Books
C Smart Wearable Tech
D Home Appliances
Is SortedList2 equal to SortedList1? = False

ポイント解説

Equals()メソッドは既定では参照の等価性を判断します。つまり、2つの変数が同じオブジェクトインスタンスを参照している場合のみtrueを返します。別々に生成されたインスタンス同士は、キーと値の組み合わせが完全に一致していてもfalseとなる点に注意してください。要素の中身を比較したい場合は、キーと値を個別にループ処理で照合するなどの独自の比較ロジックを実装する必要があります。

  1. Python Pandas – 2つのIndexオブジェクトが等しいかどうかを判定する方法

    Pandasで2つのIndexオブジェクトが等しいかどうかを確認するには、equals()メソッドを使用します。このメソッドは、両方のインデックスの要素と順序が完全に一致している場合にTrueを返し、そうでなければFalseを返します。equals()メソッドの基本的な使い方まず、必要なライブラリをインポートします。import pandas as pd次に、比較対象となるindex1とindex2を作成します。index1 = pd.Index([15, 25, 55, 10, 100, 70, 35, 40, 55]) index2 = pd.Index([15, 25, 55, 10,

  2. Python Pandas入門:DataFrameオブジェクトが等しいかどうかを確認する方法

    PythonのPandasで2つのDataFrame(データフレーム)オブジェクトが等しいかどうかを確認するには、equals()メソッドを使用します。このメソッドは、2つのDataFrameが同じ形状・要素・値を持っている場合にTrueを返し、そうでなければFalseを返します。DataFrame1の作成まず、2つの列(Car、Reg_Price)を持つDataFrame1を作成しましょう。dataFrame1 = pd.DataFrame( { Car: [BMW, Lexus, Audi, Mustang, Bentley, Jaguar], Reg_Pri