我知道String擴展方法返回一個String並且實際上並不影響調用該擴展方法的變量(因此它是不可變的) - 但是如何判斷其他擴展方法是否執行?例如,我有List<NewsItem>
工作 - 我需要訂購該按日期列出降下來,所以我寫了這個代碼:如何判斷擴展方法是否影響「this」?
newsItems.OrderByDescending(o => o.Date);
這是否會影響newsItems列表或只是返回IOrderedEnumerable ??
換言之,應該在上面的代碼實際讀:
newsItems = newsItems.OrderByDescending(o => o.Date).ToList();
??
感謝,
丹
你可以真正地測試他自己你知道...只需在列表中放入3個數字,看看他們是否被排序。 – Tudor
我的問題是你怎麼知道?每次我想知道擴展方法是否有這種效果時,似乎沒有必要運行這樣的測試。 –
字符串擴展方法不能更改字符串,因爲字符串是不可變的。 –