我有一个列表(List<string>
),我们称之为foolist
,其中将包含以下四个描述状态的项目:
"InProgress"
,"Queued"
,"Fail"
,"Success"
和"UpToDate"
。
如何检查列表中的所有元素是否都是其中一种?如果"InProgress"
,"Queued"
,"Fail"
是列表中的任何元素,那么我想返回相同的元素。为此,我只使用以下内容:
if (foolist.Contains("InProgress")) {}
我正在使用所有这三个要素。我想检查清单中的所有项目是否都相同。哪种方法最有效?
此外,我想检查我的foolist
是否仅包含Success
和UpToDate
类型的项目。
谢谢你!
答案 0 :(得分:1)
您可以使用All
可以说可用的类型在List Types,validFooList和invalidFooList中
List<string> types = new List<string>
{
"InProgress", "Queued", "Fail", "Success" , "UpToDate"
};
List<string> validFooList = new List<string>
{
"InProgress", "Queued", "Fail", "Success" , "UpToDate"
};
List<string> invalidFooList= new List<string>
{
"InProgress", "Queued", "Fail", "Success" , "UpToDate","dump"
};
现在使用All来确定序列中的所有元素是否都满足条件
bool f = validFooList.All(f => types.Contains(f));// return true
bool t = invalidFooList.All(f => types.Contains(f)); //return false
答案 1 :(得分:0)
我如何检查列表中的所有元素是否都是其中之一 类型?
您可以通过All
检查所有状态是否相同:
foolist.All(x => x == "InProgress");
,您可以通过Any
检查是否有
foolist.Any(x => x == "InProgress");
如果需要,您甚至可以合并条件:
foolist.Any(x => x == "InProgress" || x == "Success");
等等...
此外,我想检查我的foolist是否仅包含 键入Success和UpToDate。
在这种情况下,foolist.All(item => item == "Success" || items == "UpToDate")
就足够了。