文字列のリストではなく、設定にStringCollectionしか格納できないため、上記の機能が必要です。リストを<string>をStringCollectionに変換
ListをStringCollectionに変換するにはどうすればよいですか?バック変換
StringCollection collection = new StringCollection();
foreach (string element in list)
{
collection.Add(element);
}
は、LINQで簡単です::また
StringCollection collection = new StringCollection();
collection.AddRange(list.ToArray());
、中間配列を避けること(ただし、おそらくより多くの再配分を含む):
List<string> list = collection.Cast<string>().ToList();
ただ、なぜ推奨する中間配列を避けるだろう、不思議? – l46kok
@ l46kok:他のものはすべて同じで、余分な中間コピーを避けることが常に推奨されます。しかし、この場合、どのようなアプローチがより効率的か(余分な再割り当てのため)、設定のコレクションの典型的なサイズを考えると、おそらく重要ではないことは明らかではありません。 –
@MarceloCantos:いつも?私はそれと一緒に行かないだろう。最初のコードははっきりとシンプルであり、おそらくそれほど重要ではないとすれば、おそらく効率的ではないがもっと明白なアプローチに固執します。 –