1

OrderByLinq句に必要な式をデータ構造に格納しようとしているので、query = query.OrderBy(MySortExpression);

OrderByパラメータとして受け取りSystem.Linq.Expressions.Expression<Func<TSource,TKey>>ます。 TSourceソートしているエンティティタイプは何ですか?しかし、どのタイプがTKey想定されていますか?

4

3 に答える 3

5

TKeyソートする式の型を示すジェネリック型引数です。たとえば、文字列を長さで並べ替えると、次のコードのように、になり、にTSourceなりstringますTKeyint

string [] myStrings = new[] {"quick", "brown", "fox", "jumps"};
var ordered = myStrings.OrderBy(s => s.Length);
于 2012-05-04T21:11:54.857 に答える
3

TKeyは、式の戻り型の型です。例えば:

users.OrderBy(user => user.Name); 

名前は文字列であるため、タイプは次のようになりますSystem.Linq.Expressions.Expression<Func<User,string>>

于 2012-05-04T21:11:24.043 に答える
2

TKey特定のタイプにバインドされていません。通常、これは、ソートを可能にするためのプリミティブ型へのプロパティの射影です。

あなたが選択Personするプロパティを持つと仮定するとBirthYear

 persons.OrderBy(p => p.BirthYear);
于 2012-05-04T21:11:37.727 に答える