System.Data.DataKey.Equals C# (CSharp) Метод

Equals() приватный Метод

private Equals ( DataKey value ) : bool
value DataKey
Результат bool
        internal bool Equals(DataKey value)
        {
            //check to see if this.columns && key2's columns are equal...
            DataColumn[] column1 = _columns;
            DataColumn[] column2 = value._columns;

            if (column1 == column2)
            {
                return true;
            }
            else if (column1 == null || column2 == null)
            {
                return false;
            }
            else if (column1.Length != column2.Length)
            {
                return false;
            }
            else
            {
                for (int i = 0; i < column1.Length; i++)
                {
                    if (!column1[i].Equals(column2[i]))
                    {
                        return false;
                    }
                }
                return true;
            }
        }

Same methods

DataKey::Equals ( object value ) : bool

Usage Example

		public void DataKey_Equals ()
		{
			var dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			var key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			var key2 = new DataKey (dict);

			Assert.IsTrue (key1.Equals (key2), "#A1-1");
			Assert.IsTrue (key2.Equals (key1), "#A1-2");

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key2", "value2");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict);

			Assert.IsFalse (key1.Equals (key2), "#A2-1");
			Assert.IsFalse (key2.Equals (key1), "#A2-2");

			dict = new OrderedDictionary ();
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict);

			Assert.IsFalse (key1.Equals (key2), "#A3-1");
			Assert.IsFalse (key2.Equals (key1), "#A3-2");

			dict = new OrderedDictionary ();
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			key2 = new DataKey (dict);
			Assert.IsTrue (key1.Equals (key2), "#A4-1");
			Assert.IsTrue (key2.Equals (key1), "#A4-2");

			dict = new OrderedDictionary ();
			key1 = new DataKey (null);
			key2 = new DataKey (dict);
			Assert.IsTrue (key1.Equals (key2), "#A5-1");
			// Throws NREX on .NET
			//Assert.IsTrue (key2.Equals (key1), "#A5-2");

			key1 = new DataKey (null);
			key2 = new DataKey (null);
			Assert.IsTrue (key1.Equals (key2), "#A6-1");
			Assert.IsTrue (key2.Equals (key1), "#A6-2");

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict, new string[] { "key" });

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict, new string[] { "key1" });
			Assert.IsFalse (key1.Equals (key2), "#A7-1");
			Assert.IsFalse (key2.Equals (key1), "#A7-2");

			Assert.IsFalse (key1.Equals ((DataKey) null), "#A8");

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);			
			key2 = new DataKey (null);
			// Throws NREX on .NET
			//Assert.IsFalse (key1.Equals (key2), "#A8-1");
			Assert.IsTrue (key2.Equals (key1), "#A8-2");

			key1 = new DataKey (null);
			Assert.IsFalse (key1.Equals ((DataKey) null), "#A9");

			dict = new OrderedDictionary ();
			key1 = new DataKey (dict, new string [] { "key" });

			dict = new OrderedDictionary ();
			key2 = new DataKey (dict, new string [] { "key1" });
			Assert.IsFalse (key1.Equals (key2), "#A10-1");
			Assert.IsFalse (key2.Equals (key1), "#A10-2");

			dict = new OrderedDictionary ();
			dict.Add ("KEY", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict);

			Assert.IsFalse (key1.Equals (key2), "#A11-1");
			Assert.IsFalse (key2.Equals (key1), "#A11-2");

			dict = new OrderedDictionary ();
			dict.Add ("key", "VALUE");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict);

			Assert.IsFalse (key1.Equals (key2), "#A12-1");
			Assert.IsFalse (key2.Equals (key1), "#A12-2");

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict, new string [] { "key1" });
			Assert.IsFalse (key1.Equals (key2), "#A13-1");
			Assert.IsFalse (key2.Equals (key1), "#A13-2");

			dict = new OrderedDictionary ();
			key1 = new DataKey (dict, new string [] { "key" });

			dict = new OrderedDictionary ();
			key2 = new DataKey (dict, new string [] { "KEY" });
			Assert.IsFalse (key1.Equals (key2), "#A14-1");
			Assert.IsFalse (key2.Equals (key1), "#A14-2");
			
			key1 = new DataKey (null, new string [] { "key" });
			key2 = new DataKey (null, new string [] { "key" });
			Assert.IsTrue (key1.Equals (key2), "#A15-1");
			Assert.IsTrue (key2.Equals (key1), "#A15-2");

			key1 = new DataKey (null, new string [] { "KEY" });
			key2 = new DataKey (null, new string [] { "key" });
			Assert.IsFalse (key1.Equals (key2), "#A16-1");
			Assert.IsFalse (key2.Equals (key1), "#A16-2");

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key2 = new DataKey (dict, new string [] { });

			dict = new OrderedDictionary ();
			dict.Add ("key", "value");
			dict.Add ("key1", "value1");
			key1 = new DataKey (dict);
			Assert.IsFalse (key1.Equals (key2), "#A17-1");
			Assert.IsFalse (key2.Equals (key1), "#A17-2");
		}