该问题来自社区提问,应该用Find方法查找而不是Contains
using
System;
using
System.Collections.Generic;
using
System.Text;

namespace
ConsoleApplication7

...
{
class
Program

...
{
static
void
Main(
string
[]args)

...
{
List
<
int
[]
>
alSchedule
=
new
List
<
int
[]
>
();
//
声明一个存放int[]元素的集合

alSchedule.Add(
new
int
[]
...
{
1
,
2
,
3
}
);

alSchedule.Add(
new
int
[]
...
{
1
,
2
,
3
,
4
}
);
int
[]result
=
alSchedule.Find(FindElements);
if
(result
!=
null
)

...
{
Console.WriteLine(result);
}
Console.Read();
}
private
static
bool
FindElements(
int
[]arrInt)

...
{

return
IsEquals(arrInt,
new
int
[]
...
{
1
,
2
,
3
}
);
}
public
static
bool
IsEquals(Arrayarray1,Arrayarray2)

...
{
//
比较类型是否一样
if
(
!
Object.ReferenceEquals(array1.GetType(),array2.GetType()))

...
{
return
false
;
}

//
比较长度是否一样
if
(array1.GetLength(
0
)
!=
array2.GetLength(
0
))

...
{
return
false
;
}

//
比较成员是否对应相等
ValueTypev1,v2;
for
(
int
i
=
0
;i
<
array1.GetLength(
0
);i
++
)

...
{
v1
=
(ValueType)array1.GetValue(i);
v2
=
(ValueType)array2.GetValue(i);

if
(
!
v1.Equals(v2))

...
{
return
false
;
}
}
return
true
;
}

}
}