4
我需要將IEnumerable
轉換爲List<string>
。其中一種方法是通過重新訪問並將每個對象添加到列表中,但此過程耗時不一。有沒有其他的方式來做到這一點。任何幫助,將不勝感激。在.net 2.0中將IEnumerable轉換爲列表<string>
我需要將IEnumerable
轉換爲List<string>
。其中一種方法是通過重新訪問並將每個對象添加到列表中,但此過程耗時不一。有沒有其他的方式來做到這一點。任何幫助,將不勝感激。在.net 2.0中將IEnumerable轉換爲列表<string>
您可以枚舉直接傳遞到一個新的List<string>
instace的constructor:
List<string> list = new List<string>(yourEnumerable);
,或者您可以使用AddRange
方法:
List<string> list = new List<string>();
list.AddRange(yourEnumerable);
這個答案假定您實際上已經有一個IEnumerable<string>
。
如果不是這種情況下,你唯一的選擇是一個循環:
List<string> list = new List<string>();
foreach(object item in yourEnumerable)
list.Add(item.ToString());
BTW:你是說:
的方式之一就是通過這個itearte並添加每個反對列表,但這個過程是不同的時間消耗
你需要迭代enumerable在任何情況下。你還能得到所有的價值嗎?在我給你的前兩個示例代碼中,枚舉在List<T>
類中執行,但它仍在發生。
感謝您的幫助,但我IEnumerable這不是IEnumerable所以我不能使用這種方法。是的,我知道這也會反覆通過它,但它會花費更少的時間,然後手動做...因爲我正在做... –
user1685652
@ user1685652:不,它會花費同樣多的時間。爲什麼它應該更快? –
對不起,我沒有發佈整個事情,因爲我只想要轉換的方式。爲你解釋整個過程首先需要將它轉換成一個DirectoryEntry類型對象,然後訪問它的屬性,然後添加這需要花費很多時間。 – user1685652