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