サードパーティから返されたリストがあります。リスト内の各文字列は「mph」で終わりますが、「mph」を削除したいと思います。明らかな答えは、リストを foreach することですが、より効率的な方法があるかどうかはわかりませんでした。
ありがとう。
サードパーティから返されたリストがあります。リスト内の各文字列は「mph」で終わりますが、「mph」を削除したいと思います。明らかな答えは、リストを foreach することですが、より効率的な方法があるかどうかはわかりませんでした。
ありがとう。
一言で言えば、いいえ。リストを変更するには、何かがリストを通過する必要があります。ループはおそらく最も効率的なfor
方法ですが、必ずしも最も簡潔であるとは限りません
各項目に触れて変更するには、リストを繰り返し処理する必要があります。
これを行う最も簡単な方法は、linq を使用することです。
var originallist = new List<string> { "50mph", "35mph", "100mph" };
var newlist = list.Select(s => s.Substring(0, s.Length - 3));
foreach
ループの代わりに LINQ を使用できます。
list.Select( s => s.Substring(0, s.Length - 3) )
そのために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 を書く必要はありません :)
これはうまくいきます
List<string> newList = new List<string>();
mylist.ForEach((item)=>
{
item=item.Replace("mph","");
newlist.Add(item);
});