![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1
///
<summary>
2 /// New Feature in .NET 4.0
3 /// Compare two array
4 /// using IStructuralEquatable
5 /// using EqualityComparer <T>
6 /// using Comparer <T>
7 /// </summary>
8 class Program
9 {
10 static void Main( string [] args)
11 {
12 int [] arr1 = new int []{
13 1 , 2 , 3 , 5
14 };
15 int [] arr2 = new int []{
16 1 , 2 , 3 , 4
17 };
18
19 bool isEqual = (arr1 as IStructuralEquatable).Equals (
20 arr2, EqualityComparer < int > .Default );
21
22 int bigger = (arr1 as IStructuralComparable).CompareTo(
23 arr2, Comparer < int > .Default);
24
25 Console.WriteLine(String.Format ( " arr1==arr2 :{0} " ,isEqual));
26 Console.WriteLine(String.Format( " arr1-arr3: {0} " ,bigger));
27
28 Console.WriteLine( "" );
29
30 string [] str1 = new string []{
31 " a " , " cb "
32 };
33 string [] str2 = new string []{
34 " a " , " c "
35 };
36
37 // if str1=str2 then sbigger=0 ; if str1>str2 then sbigger=1; if str1<str2 then sbigger=-1
38 int sbigger = (str1 as IStructuralComparable).CompareTo(
39 str2, Comparer < string > .Default);
40 Console.WriteLine(String.Format ( " str1-str2:{0} " ,sbigger));
41 }
42 }
2 /// New Feature in .NET 4.0
3 /// Compare two array
4 /// using IStructuralEquatable
5 /// using EqualityComparer <T>
6 /// using Comparer <T>
7 /// </summary>
8 class Program
9 {
10 static void Main( string [] args)
11 {
12 int [] arr1 = new int []{
13 1 , 2 , 3 , 5
14 };
15 int [] arr2 = new int []{
16 1 , 2 , 3 , 4
17 };
18
19 bool isEqual = (arr1 as IStructuralEquatable).Equals (
20 arr2, EqualityComparer < int > .Default );
21
22 int bigger = (arr1 as IStructuralComparable).CompareTo(
23 arr2, Comparer < int > .Default);
24
25 Console.WriteLine(String.Format ( " arr1==arr2 :{0} " ,isEqual));
26 Console.WriteLine(String.Format( " arr1-arr3: {0} " ,bigger));
27
28 Console.WriteLine( "" );
29
30 string [] str1 = new string []{
31 " a " , " cb "
32 };
33 string [] str2 = new string []{
34 " a " , " c "
35 };
36
37 // if str1=str2 then sbigger=0 ; if str1>str2 then sbigger=1; if str1<str2 then sbigger=-1
38 int sbigger = (str1 as IStructuralComparable).CompareTo(
39 str2, Comparer < string > .Default);
40 Console.WriteLine(String.Format ( " str1-str2:{0} " ,sbigger));
41 }
42 }
Output:
![](https://images.cnblogs.com/cnblogs_com/qixue/output.png)