该问题来自社区提问,应该用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(Array array1, Array array2)
...
{
//
比较类型是否一样
if
(
!
Object.ReferenceEquals(array1.GetType(), array2.GetType()))
...
{
return
false
;
}
//
比较长度是否一样
if
(array1.GetLength(
0
)
!=
array2.GetLength(
0
))
...
{
return
false
;
}
//
比较成员是否对应相等
ValueType v1, 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
;
}
}
}