4

次のコレクションがある場合

IEnumerable<ProviderOrganisation> listOfProviders

public class ProviderOrganisation
{
    public virtual string Code { get; set; }
    public virtual string Description { get; set; }
    public virtual int SortOrder { get; set; }
    public virtual bool IsDefault { get; set; }
    public virtual DateTime EffectiveStartDate { get; set; }
    public virtual DateTime? EffectiveEndDate { get; set; }
}

コードだけのコレクションを作成するためにLINQを作成するにはどうすればよいですか?

したがって、コードのリストだけです。

List<string> listOfCodes

ありがとう

4

4 に答える 4

5

とを使用Enumerable.SelectEnumerable.ToListます。

List<String> listOfCodes = listOfProviders
                     .Select(p => p.Code)
                     .ToList();
于 2012-05-14T13:34:19.030 に答える
2

メソッドを呼び出して、Select()必要なプロパティのみを引き出すことができます。ToList()次に、それをキャストするために呼び出します。

listOfProviders.Select(p => p.Code).ToList();
于 2012-05-14T13:33:58.967 に答える
0

クエリ構文では、次のようになります。

List<string> listOfCodes = (from p in listOfProviders
                            select p.code).ToList();
于 2014-01-23T01:55:02.850 に答える
0

ConvertAllを使うのが好きです

List<string> listOfCodes = listOfProviders
                    .ToList()
                    .ConvertAll(x => x.Code);

そして、少しテストすると、ConvertAllは、現在受け入れられている回答の方法よりもわずかに高速であることがわかります。:)

于 2015-02-26T13:22:26.953 に答える