我有一个从第三方返回给我的列表。列表中的每个字符串以“mph”结尾,我想删除“mph”。显而易见的答案是在列表上进行预告,但我不知道是否有更有效的方法来做到这一点。
感谢。
答案 0 :(得分:5)
总之,没有。 Something 必须通过列表才能修改它。 for
循环可能是最有效的方式,但不一定是最简洁的
答案 1 :(得分:4)
您必须遍历列表才能触摸每个项目并进行更改。
最简单的方法是通过linq:
var originallist = new List<string> { "50mph", "35mph", "100mph" };
var newlist = list.Select(s => s.Substring(0, s.Length - 3));
答案 2 :(得分:3)
您可以使用LINQ而不是foreach
循环:
list.Select( s => s.Substring(0, s.Length - 3) )
答案 3 :(得分:1)
您可以将LINQ用于此目的。这样的事情可能有用:
var noMph = theList.Select(p => p.Replace("mph", "").ToList();
答案 4 :(得分:1)
你必须以某种方式执行迭代。
可能是:
foreach
for
List.ForEach
答案 5 :(得分:1)
你可以写
mylist.Select(s=>s.Substring(0, s.Length-3));//Can add .ToList() here
但那是使用循环。你至少不必编写foreach:)
答案 6 :(得分:1)
这将起作用
List<string> newList = new List<string>();
mylist.ForEach((item)=>
{
item=item.Replace("mph","");
newlist.Add(item);
});