gpt4 book ai didi

Linq 列表包含特定值

转载 作者:行者123 更新时间:2023-12-03 19:37:56 26 4
gpt4 key购买 nike

我需要知道我正在使用的列表是否包含 只有一些特定的值。

var list = new List<string> { "First", "Second", "Third" };

如果我想知道列表是否包含至少一个值为“第一”的项目,我使用 任意 关键词:
var result = list.Any(l => l == "First");

但是,我如何编写一个仅当列表包含“第一”和“第二”值时才返回真/假的 Linq 表达式?

最佳答案

我不完全确定你想要什么,但如果你想确保“第一”和“第二”表示一次,你可以这样做:

var result = list.Where(l => l == "First" || l =="Second")
.Distinct()
.Count() == 2;

或者:
var result = list.Contains("First") && list.Contains("Second");

如果你有一个更长的“白名单”,你可以这样做:
var result = !whiteList.Except(list).Any();

另一方面,如果您想确保列表中的所有项目都来自白名单并且白名单中的每个项目至少出现一次,我会这样做:

var set = new HashSet(list);
set.SymmetricExceptWith(whiteList);
var 结果 = !set.Any();

编辑 :实际上,Jon Skeet 的 SetEquals是表达最后一点的更好方式。

关于Linq 列表包含特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4616736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com