.


:




:

































 

 

 

 


Return Equals((MyClass) obj); return false;




}

// GetHashCode().

public override int GetHashCode() { return Val.GetHashCode();

}

}

class CompareDemo {

// IEquatable<T>.

public static bool IsIn<T>(T what, T[] obs) where T: IEquatable<T> { foreach(T v in obs)

if(v.Equals(what)) // Equals() return true;

Return false;

}

// IComparable<T>. // , . // true, what // , obs.

public static bool InRange<T>(T what, T[] obs) where T: IComparable<T> { if(what.CompareTo(obs[0]) < 0 ||

what.CompareTo(ob[obs.Length-1]) > 0) return false; return true;

}

// , static void Main() {

// Isln() int. int[] nums = { 1, 2, 3, 4, 5 };

If(IsIn(2, nums))

Console.WriteLine(" 2.");

If(Isln(99, nums))

Console.WriteLine("He .");

// Isln() MyClass.

MyClass[] mcs = { new MyClass(1), new MyClass(2),

new MyClass(3), new MyClass(4) };

If(lsln(new MyClass(3), mcs))

Console.WriteLine(" MyClass(3).");

If(Isln(new MyClass(99), mcs))

Console.WriteLine("He .");

// InRange() int. if(InRange(2, nums))

Console.WriteLine(" 2 nums."); if(InRange(1, nums))

Console.WriteLine(" 1 nums."); if(InRange(5, nums))

Console.WriteLine(" 5 nums."); if(!InRange(0, nums))

Console.WriteLine(" HE nums."); if(!InRange(6, nums))

Console.WriteLine(" 6 HE nums.");

// InRange() MyClass.. if(InRange(new MyClass(2), mcs))

Console.WriteLine(" MyClass(2) nums."); if(InRange(new MyClass(1), mcs))

Console.WriteLine(" MyClass(1) " +

" nums."); if(InRange(new MyClass(4), mcs))

Console.WriteLine(" MyClass(4) " +

" nums."); if(!InRange(new MyClass(0), mcs))

Console.WriteLine(" MyClass(0) HE " +

" nums."); if(!InRange(new MyClass(5), mcs))

Console.WriteLine(" MyClass(5) HE " +

" nums.");

}

}

.

2.

MyClass (3).

2 nums.

1 nums.

5 nums.

0 nums

6 nums

MyClass(2) nums.

MyClass(1) nums.

MyClass(4) nums.

MyClass(0) nums.

MyClass(5) nums.

, , , == ! =, . IComparable IComparable<T> IEquatable<T>.

. , . , , , .





:


: 2016-12-03; !; : 347 |


:

:

,
==> ...

1654 - | 1628 -


© 2015-2024 lektsii.org - -

: 0.01 .