[英]Would AddRange() be faster than ToList() in this case?
我有一個用逗號分隔的字符串ctext
,我想將其拆分並放入List<string>
。
將使用LINQ,
List<string> f = ctext.Split(',').ToList();
比不使用LINQ慢?
List<string> f;
f.AddRange(ctext.Split(','));
看起來LINQ實際上會在某個地方復制某些內容,這會使它變慢,而AddRange()
只會檢查一次列表的大小,將其展開並轉儲到其中。
還是有更快的方法? (就像使用for
循環一樣,但我對此表示懷疑。)
看起來LINQ實際上會在某個地方復制某些內容,這會使它變慢,而AddRange()只會檢查一次列表的大小,將其展開並轉儲到其中。
您認為這兩種情況都在發生是正確的,但是在認為每種情況都特定於該操作時是錯誤的。 ToList
和AddRange
都可以做這些事情。 這兩個操作都將輸入序列中的所有值都復制到列表中,並且由於這兩個操作都同時添加了多個項目,因此他們能夠一次看到擴展列表內部容量的數量,而不是一次需要執行多次擴展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.