c# - 如何动态扩展和填充字符串数组?
问题描述
下面的 BigResult 具有动态长度,如何扩展和填充 string[] Dynamic?
string[] Dynamic = new string[] {};
for (int i=0; i<BigResult.Count(); i++)
{
Dynamic.SetValue(BigResult[i], i++);
}
解决方案
很难为您的问题提供完整的答案,因为我们知道的不够多。例如,我们不知道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());
推荐阅读
- forms - Delphi Anchor 和 Form.HorizontalScrollbar.Range Panel Anchor akRight 忽略 HorizontalScrollbar.Range
- php - 来自观察者 laravel 的访问表单请求
- spring-boot - 处理 Reactor 中的平行通量
- java - Spring Data JPA 查询、过滤?搜索引擎 ?JPQL?
- python - 使用python中的函数从系统中注销用户
- javascript - 如何从 base64 编码的字符串重建音频 blob?
- c# - 如何为该 C# 中特定元素的自定义类类型列执行 DataTable.Select()
- java - JavaFX 显示可缩放矢量图形?
- html - 如何使相对于屏幕而不是父级的粘性位置
- php - Collection.php 第 1043 行中的 ErrorException:未定义的偏移量:laravel 中的 0