所以我有一个字符串列表,看起来像这样:的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