首页 > 解决方案 > 如何动态扩展和填充字符串数组?

问题描述

下面的 BigResult 具有动态长度,如何扩展和填充 string[] Dynamic?

string[] Dynamic = new string[] {};
for (int i=0; i<BigResult.Count(); i++)
{
    Dynamic.SetValue(BigResult[i], i++);
}

标签: c#

解决方案


很难为您的问题提供完整的答案,因为我们知道的不够多。例如,我们不知道BigResult. 那就是说...

在这种情况下,您似乎不需要动态数组。例如,您可以在创建数组时设置数组大小...

string[] NotDynamic = new string[BigResult.Count()];

如果BigResult是字符串的集合(或其他一些合适的类型),您可以通过使用 ToArray 方法直接创建数组来进一步简化事情......

string[] Direct = BigResult.ToArray();

如果在实例化后确实需要更改数组的大小,可以使用Array.Resize()方法创建一个不同大小的新数组,并将所有元素从旧的复制到新的。显然这可能会变得昂贵......

// O( n ) so expensive for long arrays and/or
// large array elements
Array.Resize(ref Dynamic, BigResult.Count());

推荐阅读