0

以下のレコードを含むリストがあります。

name:apple
category:fruit

name:choysum
category:vegetable

name:chicken
category: poultry

name: lamb
category: meat

...

このリストを以下のカテゴリ別に並べ替える必要があります。

vegetable
fruit
poultry
meat..

上記がLINQを使用してどのように可能であるかを誰かが教えてください。上記のカテゴリに対して、序数とタグ 1,2,3,4 という別のプロパティを作成することを考えています。次に、序数で並べます。

4

1 に答える 1

4

はい、次のようなことができます。

var orderedCategories = new List<string> { "fruit", "vegetable", "poulty", "meat" };
var ordered = list.OrderBy(x => orderedCategories.IndexOf(x.Category))
                  .ToList();

カテゴリがたくさんある場合は、Dictionary<string, int>(または、Dictionary<Category, int>カテゴリに別のクラスがある場合は a) を使用することをお勧めします。

于 2012-08-11T07:00:56.837 に答える