3
比方說,我寫這個小linqpad片段,並運行它,我得到了我期望Linqpad不運行之間重置靜態變量,除非代碼改變
但是當我再次按下F5,該列表會在這兩個項目:
我沒想到它這樣做,不能怎麼弄清楚爲什麼會。
這個列表在我每次運行時都會增長,除非我對代碼做些什麼,甚至可以添加評論。然後它將重置爲一個條目。
這是設計嗎?如果是這樣,爲什 我在5.08.01
比方說,我寫這個小linqpad片段,並運行它,我得到了我期望Linqpad不運行之間重置靜態變量,除非代碼改變
但是當我再次按下F5,該列表會在這兩個項目:
我沒想到它這樣做,不能怎麼弄清楚爲什麼會。
這個列表在我每次運行時都會增長,除非我對代碼做些什麼,甚至可以添加評論。然後它將重置爲一個條目。
這是設計嗎?如果是這樣,爲什 我在5.08.01
它是由設計。它不會重置應用程序域除非你做下列之一:
1)使用Ctrl + Shift + F5鍵重置需求
或
2)進入編輯/首選項/高級並將「始終使用新應用程序域」設置爲True。這將在每次運行腳本時重置
或
3)將下面的代碼到你的查詢(這告訴LINQPad使用你運行一個新的域下一次):
Util.NewProcess = true;
由於爲什麼,可能有多種好處,但我會說性能是主要的。您可以將昂貴的查詢結果放入靜態變量中,並且只能在第一次運行該變量。