3

以下のようにlanguageCodeを取得します。languageCode を取得する簡単な方法はありますか?

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

foreach (var l in activeLanguages)

{

    language = l.LanguageCode;

}
4

3 に答える 3

6

正確に 1 つの一致が予想される場合は、Single

language = GetAllActiveLanguages().Single(e => e.Id == Id).LanguageCode;
于 2013-07-29T12:15:52.800 に答える
3

もちろん入れるだけ

.Select(e => e.LanguageCode)

あなたのクエリに:

var activeLanguages =
  GetAllActiveLanguages()
  .Where(e => e.Id == Id)
  .Select(e => e.LanguageCode)
  .ToList();
于 2013-07-29T12:13:48.393 に答える
2

この.Select(expression)メソッドを使用すると、サンプルとして単一のプロパティを選択する代わりに、1 つの項目を指定する代わりに、選択したプロパティのタイプを示す結果IEnumerable<T>が得られます。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次のアイテムも入手できます。

string firstActiveLanguages = GetAllActiveLanguages()
                               .Where(e => e.Id == Id)
                               .Select(x => x.LanguageCode)
                               .LastOrDefault();
于 2013-07-29T12:17:03.953 に答える