から空の要素をすべて削除します。それは、コードが醜いに見えるので、私はforeach
文を使用せずに(おそらくLINQ経由)すぐにそれからすべての空の要素を("")
削除する私は、この持っている文字列配列
List<string> s = new List<string>{"", "a", "", "b", "", "c"};
を。
あなたがList.RemoveAll
を使用することができます
から空の要素をすべて削除します。それは、コードが醜いに見えるので、私はforeach
文を使用せずに(おそらくLINQ経由)すぐにそれからすべての空の要素を("")
削除する私は、この持っている文字列配列
List<string> s = new List<string>{"", "a", "", "b", "", "c"};
を。
あなたがList.RemoveAll
を使用することができます
:
C#
s.RemoveAll(str => String.IsNullOrEmpty(str));
VB.NET
s.RemoveAll(Function(str) String.IsNullOrEmpty(str))
's.RemoveAll(String.IsNullOrEmpty);'と書くだけで、この場合ラムダは必要ありません。 –
@PaoloMoretti:+1良い点。しかし、少なくともVB.NETではそれほど短くはありません: 's.RemoveAll(AddressOf String.IsNullOrEmpty)'とlamdbaは簡単に変更できることを示しています。 Imhoラムダでもっと読みやすいです。 –
クリアされたリストではなく、削除された要素の数が返されるのはなぜですか?この 'int count = s.RemoveAll(string.IsNullOrEmpty);'は有効ですが 'List
String.IsNullOrEmpty()
方法でList.RemoveAll
でチェックしてください。
指定した文字列がnullか空文字列かを示します。ここで
s.RemoveAll(str => string.IsNullOrEmpty(str));
はDEMO
です。
[重複するリストから「空の」アイテムを削除するにはどうすればよいですか?](http://stackoverflow.com/q/12849528/256431) –
Btw、これは 'string'配列ではなくリストです。 –