0

私はこのようなリストを持っていますstring:

public List<string> Subs { get; set; }

そして、私はlist<Category> Cat { get; set; }このクラスを持っています:

public class Category
    {
        public int ID { get; set; }

        public string Name { get; set; }

        public int SubCat_ID { get; set; }
    }

list<string> Subsのすべての値を に入れるだけですList<Category> Cat。もちろん、 の各文字列は の各Name パラメータにlist<string>配置する必要があります。List<Category>

それで、それはどのように行われますか?そのことを行うconvertメソッドはありますか?それはどのように機能しますか?

前もって感謝します ;)

4

5 に答える 5

3

はい、LINQ でそれを行うことができます。

var cats = (from sub in Subs
            select new Category
            {
                Name = sub
            }).ToList();
于 2012-08-19T14:41:20.457 に答える
2

クラスのConvertAllメソッドを使用できます。List

Cat = Subs.ConvertAll(s => new Category { Name = s });
于 2012-08-19T14:44:31.423 に答える
2

In case both lists exist, Zip should be used:

 var result = categories.Zip(subs, (cate, sub) =>
            {
                cate.Name = sub;
                return cate;
            });
于 2012-08-19T14:54:12.153 に答える
1

「選択」列挙可能な拡張メソッドを使用します。

http://msdn.microsoft.com/en-us/library/bb548891.aspx

次のような「ToList()」が続きます。

var newList = Subs.Select(name => new Category { Name = name}).ToList();
于 2012-08-19T14:44:03.313 に答える
0

関数を手動で作成する必要があります。そうしないと、リスト内の文字列に対応するプロパティをプログラムが理解するのが非常に難しくなります。

于 2012-08-19T14:41:33.987 に答える