我有电话订阅者的课,还有电话号码的第二节课。一个订户可能只有几个电话号码,但一个号码电话可能只与一个订户关联。在主系统中,我看到所有用户的所有呼叫找到电话号码的拥有者有没有比查收每一个订户更简单快捷的方法?

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列表。
非主题但重要的是:更改命名订阅者意味着订阅者列表,但事实并非如此。这使得即使是这一小段代码也不像您希望的那样可读看看这个方法参数看起来有多混乱:
IEnumerable<Subscribers> subscribers
这个简单的更改将在很大程度上帮助您的代码的其他读者:
IEnumerable<Subscriber> subscribers

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

10-10 16:14