[英]Linq orderby for complex expression in select
guys! 伙计们! I've got the code like following:
我有如下代码:
String input_string = "Good bye world!";
from c in input_string.Split(new char[]{' '})
select int.Parse(c);
and I would like to order resulting query by int.Parse(c) like 我想通过int.Parse(c)来排序结果查询
String input_string = "Good bye world!";
from c in input_string.Split(new char[]{' '})
orderby int.Parse(c)
select int.Parse(c);
but without calculating int.Parse(c); 但不计算int.Parse(c); again in orderby statement.
再次在orderby语句中。
Any ideas? 有任何想法吗?
You can use let
: 您可以使用
let
:
var input = "3 2 1";
var query = from c in input.Split(' ')
let x = int.Parse(c)
orderby x
select x;
foreach (var item in query)
{
Console.WriteLine(item);
}
Output: 输出:
1 2 3
string input_string = "111 222 333";
var result = input_string.Split(null)
.Select(int.Parse)
.OrderBy(arg => arg)
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.