2011-06-25 62 views
2

傢伙! 我有類似的代碼如下:Linq orderby用於選擇

String input_string = "Good bye world!"; 
from c in input_string.Split(new char[]{' '})     
    select int.Parse(c); 

,我想訂購由int.Parse(三)像

String input_string = "Good bye world!"; 
from c in input_string.Split(new char[]{' '}) 
    orderby int.Parse(c)      
    select int.Parse(c); 

,但沒有計算int.Parse(C)得到的查詢;再次按順序陳述。

任何想法?

+1

我使用'let',但解析' 「好」'去@ DTB的解決方案(和其他字符串部分)int沒有太大意義。 – jCoder

回答

5

您可以使用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); 
} 

輸出:

 
1 
2 
3 
1
string input_string = "111 222 333"; 
var result = input_string.Split(null) 
    .Select(int.Parse) 
    .OrderBy(arg => arg) 
    .ToList();