我知道你可以在C#中添加到List
的项目数量受int限制(因为这是count
的类型)。这应该是20亿左右。
但我的问题是说我想要这样的清单:
List<MyClass>= new List<MyClass>;
哪里
class MyClass
{
string s1; // should be string of 8 characters always
DateTime t;
}
我可以将多少MyClass
个对象添加到列表中?我假设
现在我要考虑到内存
它会占用numberOfElements * sizeof(MyClass)
?
那么我可以使用这种约束添加多少元素?
(我相信我可能会比内存更快地耗尽内存
由于上面的公式,我达到了int的最大值,不是吗?)。
答案 0 :(得分:5)
我可以将多少个MyClass对象添加到列表中?我现在假设我必须考虑它将占用的内存是numberOfElements * sizeof(MyClass)?
由于MyClass
是引用类型,因此列表本身只包含对象的引用,因此列表的最大大小不会有任何不同。
我认为由于上面的公式,我可能会因为达到int的最大值而内存不足,不是吗?
你的内存可能已经用完了,是的,但这不是List<T>
的限制。您只受可用虚拟内存量的限制。