相关疑难解决方法(0)

c#中列表<string>的最大数据限制是多少?

我可以向List添加多少个值?

例如:

List<string> Item = runtime data
Run Code Online (Sandbox Code Playgroud)

数据的大小不固定.它可能是10 000或超过1 000 000.我用谷歌搜索但没有找到确切的答案.

.net c#

53
推荐指数
2
解决办法
5万
查看次数

Collection <T>的最大容量与x86的预期不同

关于集合中可以包含的最大项目数的主要问题,例如List.我在这里寻找答案,但我不理解这个推理.

假设我们正在与一个List<int>具有sizeof(int)= 4个字节......每个人都似乎是确保为64,你可以有一个最大268435456 int和x86的最大134217728 int.链接:

但是,当我自己测试时,我发现x86并非如此.谁能指出我可能出错的地方?

//// Test engine set to `x86` for `default processor architecture`
[TestMethod]
public void TestMemory()
{
    var x = new List<int>();

    try
    {
        for (long y = 0; y < long.MaxValue; y++)
        x.Add(0);
    }
    catch (Exception)
    {
        System.Diagnostics.Debug.WriteLine("Actual capacity (int): " + x.Count);
        System.Diagnostics.Debug.WriteLine("Size of objects: " + System.Runtime.InteropServices.Marshal.SizeOf(x.First().GetType())); //// This gives us "4"
    }
}
Run Code Online (Sandbox Code Playgroud)

对于x64:268435456(预期)

对于x86:67108864(比预期少2倍)

为什么人们说包含134217728的List int …

.net c#

6
推荐指数
1
解决办法
749
查看次数

vb.net - 多维数组列表

我已经设法制作了一些单维数组列表,但我无法弄清楚多维度的arraylist.

这是我正在尝试做的事情:

我有一个包含5列的数据库(mdb),我希望每一行都在一个数组列表中.

在PHP中,我通常做的是:

$ array [$ field1] = array($ field2,$ field3,$ field4,$ field5);

我是如何在vb.net中做同样的事情所以我需要为特定的row1获取一个项目我可以调用它?

对于单个维度,我可以执行以下操作,但我无法弄清楚如何向单个数组行添加更多字段:

    Dim tmpArrayX As New ArrayList
    tmpArrayX.Add(field(0))
    tmpArrayX.Add(field(1))
    etc...
Run Code Online (Sandbox Code Playgroud)

vb.net

5
推荐指数
1
解决办法
6万
查看次数

我可以向List添加一些特定类的对象

我知道你可以List在C#中添加的项目数量受int限制(因为这是类型count).哪个应该在20亿左右.

但我的问题是说我想要这样的清单:

List<MyClass>= new List<MyClass>;
Run Code Online (Sandbox Code Playgroud)

哪里

class MyClass
{
  string s1; // should be string of 8 characters always
  DateTime t;
}
Run Code Online (Sandbox Code Playgroud)

MyClass我可以添加多少个对象列表?我现在假设我必须考虑它将占用的内存是numberOfElements * sizeof(MyClass)多少?那么我可以使用这种约束添加多少元素?(我相信由于上面的公式,我的内存可能会比我达到int的最大值更快,不是吗?).

c#

1
推荐指数
1
解决办法
111
查看次数

标签 统计

c# ×3

.net ×2

vb.net ×1