【发布时间】:2012-01-04 08:52:05
【问题描述】:
所以我有一个如下所示的字符串列表:
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))
我认为这个解决方案对于这个简单的任务可能会很复杂。所以我的问题是:你们有没有一个更简单的解决方案来解决这个问题?
【问题讨论】:
-
结果错误或者我没有得到问题:不应该是:null,102,153,1235?
-
你的解决方案对我来说很好!
-
是的,它应该是拆分字符串的倒数第二个。如果没有倒数第二个,那么它应该返回 null。
标签: c# linq linq-to-sql