在linq中有任何简单的方法可供选择

时间:2013-07-29 12:12:48

标签: c# linq

我得到如下的languageCode。有没有简单的方法来获取languageCode?

var activeLanguages = GetAllActiveLanguages().Where(e => e.Id == Id).ToList();

foreach (var l in activeLanguages)

{

    language = l.LanguageCode;

}

3 个答案:

答案 0 :(得分:6)

如果您只想要一场比赛,请使用Single

language = GetAllActiveLanguages().Single(e => e.Id == Id).LanguageCode;

答案 1 :(得分:3)

当然,只需要

.Select(e => e.LanguageCode)

进入您的查询:

var activeLanguages =
  GetAllActiveLanguages()
  .Where(e => e.Id == Id)
  .Select(e => e.LanguageCode)
  .ToList();

答案 2 :(得分:2)

使用.Select(expression)方法,您将得到它包含的结果,例如,选择单个属性,而不是指定您想要一个项目,您将得到IEnumerable<T>其中{{1是您选择的属性的类型。

T

public string LanguageCode { get; set; }

你也只能获得第一个:

List<string> activeLanguages = GetAllActiveLanguages()
                               .Where(e => e.Id == Id)
                               .Select(x => x.LanguageCode)
                               .ToList();

您还可以获得string firstActiveLanguages = GetAllActiveLanguages() .Where(e => e.Id == Id) .Select(x => x.LanguageCode) .FirstOrDefault(); 项目:

Last