该问题来自社区提问,应该用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
;
}
}
}
这篇博客探讨了在C#中如何使用List<int[]>集合进行元素的添加和查找,特别强调了在处理多维数组时,应优先考虑使用Find方法而非Contains。
562

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



