相关疑难解决方法(0)

检查一个列表是否包含其他列表中的所有项目

如何确定列表A是否以相同的顺序包含列表B中的所有元素?

列表A可以具有列表B不具有的其他元素,但必须按照列表B具有它们的顺序包含列表B的所有元素.


实施例1(A组结尾...,4,0, 6):

List A:    List B:
5          2
9          3
2          4
3
4
0
6
Run Code Online (Sandbox Code Playgroud)

这应该返回True.


实施例2(A组结尾...,0,4,6):

List A:    List B:
5          2
9          3
2          4
3
0
4
6
Run Code Online (Sandbox Code Playgroud)

这应该返回False.


从JonSkeet中找到了这个答案,看看列表A是否包含列表B中的所有元素,但这并不要求它们具有相同的顺序.

c# linq list

5
推荐指数
1
解决办法
7218
查看次数

如何检查List <T>是否包含另一个List <T>

是否有任何优雅的方式c#来检查是否List<T>包含一个List<T>类似的子string.Contains(string)

比方说,例如我想测试List A是否包含ListB

List<int> A = new List<int>{ 1, 2, 3, 4, 3, 4, 5 };
List<int> B = new List<int>{ 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)

重要的是所有元素必须完全匹配.


我知道我可能会做类似的事情

bool Contains(List<Sampletype> source, List<Sampletype> sample)
{
    // sample has to be smaller or equal length
    if (sample.Count > source.Count) return false;

    // doesn't even contain first element
    if (!source.Contains(sample[0])) return false;

    // get possible starts
    // see https://stackoverflow.com/a/10443540/7111561
    int[] possibleStartIndexes = source.Select((b, i) …
Run Code Online (Sandbox Code Playgroud)

.net c#

1
推荐指数
1
解决办法
136
查看次数

标签 统计

c# ×2

.net ×1

linq ×1

list ×1