![](/img/trans.png)
[英]Using LINQ, how to convert a IList<IList<object>> to IList<object>?
[英]How to convert IList<string> to a string[] without using Linq
我不確定將IList<string>
( IList
沒有實現ToArray屬性)轉換為string[]
數組的最佳方法是什么。
我不能使用Linq
因為我正在使用.NET 2.0進行編譯。 任何想法都會很好。
string[] strings = new string[list.Count];
list.CopyTo(strings, 0);
我不太確定我是否理解無LINQ限制? 如果IList<T>
擁有它,聽起來你會使用ToArray
。 但事實證明它是因為IEnumerable<T>.ToArray
是IEnumerable<T>.ToArray
IList<T>
實現的IEnumerable<T>
上定義的擴展方法。 那你為什么不用它呢?
如果你被迫擁有IList,那么得到一個數組......
IList list;
var array = new List<string>(list).ToArray()
ToArray是IEnumerable的擴展方法,IList實現IEnumerable。 如果導入它,就可以執行此操作。
無論如何,您將不得不創建一個數組並使用列表中的內容填充它的內容。 這是最直接的方式。
var arr = new string[Your_List.Count]
for(var ii = 0; ii < arr.Length; ii++){
arr[ii] = Your_List[ii];
}
嘗試:
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;
}
它只是一個粗糙的。可能是它的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.