Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何比较C语言中的两个列表?_C#_List - Fatal编程技术网

C# 如何比较C语言中的两个列表?

C# 如何比较C语言中的两个列表?,c#,list,C#,List,我有两个列表要比较: 我想比较列表A和列表B,这样如果列表A中存在列表B中的任何日期,那么返回true 例如,如果列表B中的14-01-2020存在于列表A中,而列表A确实存在,那么它应该返回true 怎么做 请注意:列表A中的数据包含整个月份的日期,而列表B仅包含几个日期 如果列表A中存在列表B中的任何日期,则返回true 反之亦然: return ListA.Any(x => ListB.Contains(x)); 哪一个更适合您将取决于数据的性质,但我通常倾向于在较短的序列中运行

我有两个列表要比较:

我想比较列表A和列表B,这样如果列表A中存在列表B中的任何日期,那么返回true

例如,如果列表B中的14-01-2020存在于列表A中,而列表A确实存在,那么它应该返回true

怎么做

请注意:列表A中的数据包含整个月份的日期,而列表B仅包含几个日期

如果列表A中存在列表B中的任何日期,则返回true

反之亦然:

 return ListA.Any(x => ListB.Contains(x));
哪一个更适合您将取决于数据的性质,但我通常倾向于在较短的序列中运行Contains

此外,我看到:

列表A中的数据包含整个月份的日期

根据您的确切意思,您可能能够利用这一事实:

var start = A.Min(x => x);
var stop = A.Max(x => x);
return ListB.Any(x => x >= start && x <= stop);
最后,如果您知道一个或两个序列中的数据已排序,则可以显著优化这些数据

如果列表A中存在列表B中的任何日期,则返回true

反之亦然:

 return ListA.Any(x => ListB.Contains(x));
哪一个更适合您将取决于数据的性质,但我通常倾向于在较短的序列中运行Contains

此外,我看到:

列表A中的数据包含整个月份的日期

根据您的确切意思,您可能能够利用这一事实:

var start = A.Min(x => x);
var stop = A.Max(x => x);
return ListB.Any(x => x >= start && x <= stop);

最后,如果您知道一个或两个序列中的数据已排序,则可以对其进行显著优化。

ListA.Anydt=>ListB.Containsdt如何?我想这里已经回答了这个问题:这是否回答了您的问题?那么ListA.Anydt=>ListB.Containsdt呢?我想这里已经回答了这个问题:这是否回答了您的问题?谢谢@Joel,我一定会试试这个。该睡觉了。如果可行,我会尽快接受。谢谢你的帮助!:谢谢@Joel,我一定会试试这个。该睡觉了。如果可行,我会尽快接受。谢谢你的帮助!: