C# list自定义类的查询

List <Class> list = new List<Class>

Class class = new Class();
class.name = "a";
class.id = "1";
list.Add(class);
有没有除遍历之外的方法,判断出list中的类是否存在id为1的类,返回bool型就可以了
List.Contains这个方法能不能用?
最新回答
守护在此方

2024-11-07 16:44:42

刚才不是问这个问题了吗?

    class Program
    {
        static void Main(string[] args)
        {
            XXX xxx = new XXX();
            List<XXX> list = new List<XXX>();
            list.Add(xxx);

            if (list.FirstOrDefault(x => x.id == 1)!=null)
            {
                Console.WriteLine("存在");
            }
            else
            {
                Console.WriteLine("不存在");
            }

            Console.ReadKey();

        }
    }

    class XXX
    {
       public string name = "a";
       public int id = 1;
    }

把上面if语句的条件改一下就行了呀

            bool boo = (list.FirstOrDefault(x => x.id == 1) != null);

            if (boo)
            {
                Console.WriteLine("存在");
            }
            else
            {
                Console.WriteLine("不存在");
            }
游戏人间

2024-11-07 12:03:34

除遍历之外还真没用过~~~不过你可以写一个返回bool的方法嘛!
例如
public Boolean getlist(string[] strArr, string strTarget)
{
//遍历传入的数组,判断有无目标字符串strTarget,有返回True、无则返回False
}
这样虽然还是用到了遍历,不过至少在页面是看不出你使用了遍历嘛~~~~~
哈哈...........
给你一口甜甜

2024-11-07 08:18:51

用list.where方法吧:

var a = list.where(i=>i.id=="1");
if(a!=null) return true;

a如果非空,则能找到,如果a为空,说明不包含id==1;而且假如list有多个id为1的类,那么a就是
一个集合
夏了夏天

2024-11-07 15:24:07

bool b=list.Any(c=>c.id==1)