c# – 如何在List中搜索具有其字段值的对象

c# – 如何在List中搜索具有其字段值的对象,第1张

概述问题是如何从List获取具有其字段值的对象 我有一个名为f_objects的列表,其中包含对象. private List<F_object> f_objects; 我还有一个有一些价值的字符串: string name = "something"; F_object有一个方法返回名为name的字段: public string GetName(){ return this.name; 问题是如何从List获取具有其字段值的对象

我有一个名为f_objects的列表,其中包含对象.

private List<F_object> f_objects;

我还有一个有一些价值的字符串:

string name = "something";

F_object有一个方法返回名为name的字段:

public string Getname(){    return this.name;}

是否有内置的方法来比较列表中的对象与此字段值?或者我应该做一个循环并比较如下:

foreach(F_object ob in f_objects){    if String.Equals(name,ob.Getname())    F_object found = ob;}
解决方法 在linq中有多种方法可以做到这一点.
第一个是使用.Where.如果可以有更多匹配,这将满足您的需求

IEnumerable<F_object> result = f_objects.Where(obj=>obj.Getname() == name);

第二个选项是如果你只关心第一个命中,即使可能有多个,在这种情况下使用.First

f_object result = f_objects.First(obj=>obj.Getname() == name);

或者如果零点击是可接受的情况(非例外)

f_object result = f_objects.FirstOrDefault(Obj=>obj.Getname() == name);

如果你只有一个命中,那么使用.Single

f_object result = f_objects.Single(obj=>obj.Getname() == name);

或者如果你只能有一个或零点击,那么使用.SingleOrDefault

f_object result = f_objects.SingleOrDefault(obj=>obj.Getname() == name);
总结

以上是内存溢出为你收集整理的c# – 如何在List中搜索具有其字段值的对象全部内容,希望文章能够帮你解决c# – 如何在List中搜索具有其字段值的对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1226181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存