所以我有一個字符串列表,看起來像這樣:的LINQ:如何獲得倒數第二
var ls=new List<string>()
{
"100",
"101-102-1002",
"105-153-1532-1532",
"105-1854-45-198",
"180-95-45-200"
};
我想要得到的斷續線的倒數第二個。所以,我的輸出是這樣的:
null,
102,
1532,
45,
45
我有這方面的解決方案,它看起來像這樣:
ls.Select (l =>l.Split('-').Select ((s,i) =>new {s,i})
.OrderByDescending (x=>x.i).Skip(1).Take(1))
我認爲這種解決方案可能是複雜,這個簡單的任務。所以我的問題是:你們有沒有更簡單的解決方案來解決這個問題?
分機的結果是錯誤的或者我不明白的問題:應該不會吧be:null,102,153,1235? – 2012-01-04 08:55:36
您的解決方案對我來說看起來很好! – ColinE 2012-01-04 08:55:46
是的,它應該是拆分字符串的第二個最後一個。如果沒有倒數第二個,那麼它應該返回null。 – Arion 2012-01-04 09:00:25