我所經歷的Edulinq由Jon飛碟雙向,和我遇到下面的代碼,第23頁,他在其中實現緩存機制Empty()
運營商的LINQ喬恩斯基特的Edulinq - 空數組緩存
private static class EmptyHolder<T>
{
internal static readonly T[] Array = new T[0];
}
我的問題來了是,這是如何緩存Array
變量的?
(可選)在CLR中它是如何工作的?
編輯:此後,他提到了反對返回數組的反抗。爲什麼不應該返回一個數組(即使它是0大小?)?
Array'的'值後保存應用程序的生命週期'EmptyHolder'是第一因爲它是靜態的。 –
Matthew