首页 > 解决方案 > 如何在 C# 中检查列表中的不同元素?

问题描述

我有一个列表 ( List<string>),我们称之为它,它将foolist有以下四个项目,描述状态: "InProgress""Queued""Fail"和。"Success""UpToDate"

我如何检查列表中的所有元素是否属于其中一种类型?如果"InProgress", "Queued","Fail"是我列表中的任何元素,那么我想返回相同的元素。为此,我只使用以下内容:

if (foolist.Contains("InProgress")) {}

我正在使用所有三个元素这样做。我想要检查列表中的所有项目是否相同。哪种方法最有效?

另外,我想检查一下我是否foolist只包含类型为Successand的项目UpToDate

提前谢谢你!

标签: c#list

解决方案


您可以使用全部

假设可用类型在 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

推荐阅读