StringCollectionは設定にのみ保存でき、文字列のリストは保存できないため、上記の機能が必要です。
ListをStringCollectionに変換するにはどうすればよいですか?
どうですか:
StringCollection collection = new StringCollection();
collection.AddRange(list.ToArray());
または、中間配列を回避します(ただし、より多くの再割り当てが必要になる可能性があります)。
StringCollection collection = new StringCollection();
foreach (string element in list)
{
collection.Add(element);
}
LINQを使用すると、元に戻すのは簡単です。
List<string> list = collection.Cast<string>().ToList();
これを使用 List.ToArray()
すると、リストが配列に変換されます。この配列を使用して、に値を追加できますStringCollection
。
StringCollection sc = new StringCollection();
sc.AddRange(mylist.ToArray());
//use sc here.
これを読む
anIEnumerable<string>
を aに変換する拡張メソッドを次に示しStringCollection
ます。他の回答と同じように機能し、まとめるだけです。
public static class IEnumerableStringExtensions
{
public static StringCollection ToStringCollection(this IEnumerable<string> strings)
{
var stringCollection = new StringCollection();
foreach (string s in strings)
stringCollection.Add(s);
return stringCollection;
}
}