该问题来自社区提问,应该用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
;
}

}
}
本文介绍了一种在C#中使用Find方法来精确查找数组元素的方法,通过具体的示例展示了如何在一个包含int数组的List中查找特定的数组,并提供了用于比较数组的自定义方法。
1570

被折叠的 条评论
为什么被折叠?



