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