Ответ 1
Вы можете использовать следующий фрагмент, чтобы преобразовать его в обычный массив:
string[] array = new string[collection.Count];
collection.CopyTo(array, 0);
Это должно выполнить задание:)
У меня есть объект типа ICollection<string>
. Каков наилучший способ преобразования в string[]
.
Как это можно сделать в .NET 2?
Как это можно сделать более чистым в более поздней версии С#, возможно, используя LINQ в С# 3?
Вы можете использовать следующий фрагмент, чтобы преобразовать его в обычный массив:
string[] array = new string[collection.Count];
collection.CopyTo(array, 0);
Это должно выполнить задание:)
Если вы используете С# 3.0 и .Net framework 3.5, вы должны уметь:
ICollection<string> col = new List<string>() { "a","b"};
string[] colArr = col.ToArray();
конечно, вы должны иметь "using System.Linq;" в верхней части файла
В (тривиальном) случае ICollection<String>
используйте ToArray:
String[] GetArray(ICollection<String> mycoll)
{
return mycoll.ToArray<String>();
}
EDIT: с .Net 2.0 вы можете вернуть массив с дополнительным List<String>
:
String[] GetArray(ICollection<String> mycoll)
{
List<String> result = new List<String>(mycoll);
return result.ToArray();
}