gpt4 book ai didi

c# - 查找另一个对象的对象的有效解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:19:24 24 4
gpt4 key购买 nike

我有一个电话用户类,第二个电话号码类。一个用户可能只有几个电话号码,但一个号码的电话可能只与一个用户相关联。在主系统中,我看到所有用户的所有调用。有没有比循环检查每个用户更容易、更快速地找到电话号码所有者的方法?

public class Subscribers{
int clientID;
string name="";
string surname="";
string address="";
List<Phones> allPhones= new List<Phones>;
}

public class Phones{
string number="";
}

最佳答案

使用 Linq 这非常简单。

public IEnumerable<Subscribers> FindSubscriber(
IEnumerable<Subscribers> subscribers, string phoneNumber)
{
return
from subscriber in subscribers
where subscriber.allPhones.Any(p => p.number == phoneNumber)
select subscriber;
}

这将返回 Subscribers 的列表有这个电话号码。

题外话但很重要:更改命名。 Subscribers 暗示订阅者列表,但它不是。这使得即使是这一小段代码也不像您希望的那样可读。看看这个方法参数看起来有多困惑:

IEnumerable<Subscribers> subscribers

这个简单的更改将对您代码的其他读者有很大帮助:

IEnumerable<Subscriber> subscribers

关于c# - 查找另一个对象的对象的有效解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927396/

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