我有一個ICollection<string>
類型的對象。什麼是最好的方式轉換爲string[]
。ICollection <string> to string []
這怎麼能在.NET 2中完成?
如何在C#的更高版本中完成清潔工作,或許在C#3中使用LINQ?
我有一個ICollection<string>
類型的對象。什麼是最好的方式轉換爲string[]
。ICollection <string> to string []
這怎麼能在.NET 2中完成?
如何在C#的更高版本中完成清潔工作,或許在C#3中使用LINQ?
你可以使用下面的代碼片段將其轉換爲一個普通的數組:
string[] array = new string[collection.Count];
collection.CopyTo(array, 0);
這應該做的工作:)
在ICollection<String>
的(簡單)的情況下,使用ToArray的:
String[] GetArray(ICollection<String> mycoll)
{
return mycoll.ToArray<String>();
}
編輯:與.net 2.0,你可以用一個額外的List<String>
返回數組:
String[] GetArray(ICollection<String> mycoll)
{
List<String> result = new List<String>(mycoll);
return result.ToArray();
}
如果您正在使用C#3.0和.NET Framework 3.5,你應該能夠做到:
ICollection<string> col = new List<string>() { "a","b"};
string[] colArr = col.ToArray();
當然
,你必須有 「使用System.Linq的;」在文件頂部
我需要初始化正確大小的陣列第一個.. 不能我只是這樣做: string [] futures = new string [] {}; FutureFVDictionary.Keys.CopyTo(futures,0); ; – leora 2008-11-30 11:54:38
該數組必須首先被初始化爲正確的大小 - 否則CopyTo將失敗並出現ArgumentException。 – AdrianoKF 2008-11-30 12:06:27
與列表(mycoll).ToArray()您不必擔心大小。 –
gimel
2008-11-30 12:40:24