我不確定將IList<string>
(IList
未實現ToArray屬性)轉換爲string[]
數組的最佳方式。如何將IList <string>轉換爲字符串[]而不使用Linq
我不能使用Linq
,因爲我正在編譯.NET 2.0。任何想法都將成爲歡樂。
我不確定將IList<string>
(IList
未實現ToArray屬性)轉換爲string[]
數組的最佳方式。如何將IList <string>轉換爲字符串[]而不使用Linq
我不能使用Linq
,因爲我正在編譯.NET 2.0。任何想法都將成爲歡樂。
string[] strings = new string[list.Count];
list.CopyTo(strings, 0);
我不是很確定如果我理解無LINQ限制有關係嗎?這聽起來像你會使用ToArray
,如果IList<T>
有它。但事實證明這是因爲IEnumerable<T>.ToArray
是IEnumerable<T>
定義的擴展方法,其中IList<T>
實現。那麼你爲什麼不使用它呢?
無論如何,你將不得不創建一個數組,並使用列表中的內容填充它的內容。這是做這件事最直接的方法。
var arr = new string[Your_List.Count]
for(var ii = 0; ii < arr.Length; ii++){
arr[ii] = Your_List[ii];
}
ToArray是IEnumerable的擴展方法,IList實現IEnumerable。你可以做到這一點,如果你導入。
嘗試:
public static T[] ToArray<T>(this IList<T> list)
{
if (list is Array) return (T[]) list;
T[] retval = new T[list.Count];
for (int i = 0; i < retval.Length; i++)
retval[i] = list[i];
return retval;
}
它只是一個粗略的。可能是它的幫助。
如果你被迫有IList中,然後得到一個數組...
IList list;
var array = new List<string>(list).ToArray()
16 upvotes一個普通的舊的和熟悉的.NET框架方法一小時後。我應該自己回答更多的C#問題;) –