Linq 我使用什么来获取所有值,而不是firstordefault

Linq 我使用什么来获取所有值,而不是firstordefault,linq,Linq,下面是我编写的代码,由于FirstOrDefault,它只返回第一条记录。我的语法应该是什么来获取存储在变量EmailAddresses中的所有电子邮件地址,其中FlagActive字段为True IList<string> EmailAddresses = new List<String>(); EmailAddresses.Add(Context.FOCALPOINTs.FirstOrDefault(T => T.FlagActive == true)

下面是我编写的代码,由于FirstOrDefault,它只返回第一条记录。我的语法应该是什么来获取存储在变量EmailAddresses中的所有电子邮件地址,其中FlagActive字段为True

   IList<string> EmailAddresses = new List<String>();
  EmailAddresses.Add(Context.FOCALPOINTs.FirstOrDefault(T => T.FlagActive == true).Email.ToString());
  foreach (string emailAddress in EmailAddresses)
         tempEmail = tempEmail + ";" + emailAddress; 
IList EmailAddresses=新列表();
Add(Context.FOCALPOINTs.FirstOrDefault(T=>T.FlagActive==true).Email.ToString());
foreach(EmailAddresss中的字符串emailAddress)
tempEmail=tempEmail+“;”+电子邮件地址;

我想你想要这样的东西:

    EmailAddresses = Context.FOCALPOINTs.Where(T => T.FlagActive)
                       .Select(T => T.Email).ToList();

作为一个轻微的旁注,您在这里的部分:

(T => T.FlagActive == true)
此处的==true是不必要的,因为T.FlagActive已经是一个布尔值

EmailAddresses.AddRange(Context.FocalPoints.where(T => T.FlagActive ==  true).Email.ToString().ToList());

也许吧

您可以通过这种方式直接进入,无需添加

IList<string> EmailAddresses = Context.FOCALPOINTs.Where(T => T.FlagActive).Select(c => c.Email).ToList());      

  foreach (string emailAddress in EmailAddresses) 
         tempEmail = tempEmail + ";" + emailAddress;  
IList EmailAddresses=Context.FOCALPOINTs.Where(T=>T.FlagActive)。选择(c=>c.Email.ToList());
foreach(EmailAddresss中的字符串emailAddress)
tempEmail=tempEmail+“;”+电子邮件地址;

不用担心。如果你点击旁边的“勾号”,它会将此标记为已回答。