14

StringCollectionは設定にのみ保存でき、文字列のリストは保存できないため、上記の機能が必要です。

ListをStringCollectionに変換するにはどうすればよいですか?

4

4 に答える 4

35

どうですか:

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();
于 2012-08-17T07:41:33.627 に答える
1

これを使用 List.ToArray()すると、リストが配列に変換されます。この配列を使用して、に値を追加できますStringCollection

StringCollection sc = new StringCollection();
sc.AddRange(mylist.ToArray());

//use sc here.

これを読む

于 2012-08-17T07:42:17.673 に答える
0

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;
    }
}
于 2015-04-16T11:15:09.840 に答える