BinaryTree<Student>
DeserializedStudents と linq クエリがあります。
var students = DeserializedStudents.OrderBy(testResult => testResult.Test_Result).
Select(cust => new { name = cust.Name, result = cust.Test_Result });
このクエリと等しい式を作成する方法を教えてください。
BinaryTree<Student>
DeserializedStudents と linq クエリがあります。
var students = DeserializedStudents.OrderBy(testResult => testResult.Test_Result).
Select(cust => new { name = cust.Name, result = cust.Test_Result });
このクエリと等しい式を作成する方法を教えてください。
複雑な式を使用すると、ごまかしてコンパイラが何をするかを確認できます。
Expression<Func<IEnumerable<Student>, IEnumerable<Student>>> expression =
query => query
.OrderBy(testResult => testResult.Test_Result)
.Select(cust => new { name = cust.Name, result = cust.Test_Result });
expression
デバッガーで見てください。
ところで、LINQPadはこれに非常に役立ちます。
インターフェイスの実装を使用して、以下IQueryable
に基づいて式を自動構築できますLinQ
。
var query = DeserializedStudents.AsQueryable()
.OrderBy(testResult => testResult.Test_Result)
.Select(cust => new { name = cust.Name, result = cust.Test_Result });
var expression = query.Expression;
このような?:
var students = from cust in DeserializedStudents
orderby cust.Test_Result
select new { name = cust.name, result = cust.Test_Result };