c# - 如何将数据从一个数组复制到另一个数组而不覆盖
问题描述
如何在 MVC C# 中将数据从数组复制到另一个数组而不覆盖它。
string[] total = new {"Apple", "Banana", "Cat"};
string[] arrayA= new {"Donkey", "Ear", "Frog"};
total= new List<string>().Concat(arrayA).ToArray();
这段代码基本上只是从中复制数据arrayA
并覆盖它。那么无论如何要添加或复制数据arrayA
并将其添加到我的值变成并且里面的值被覆盖total
之后。string[] total = new List<string>().Concat(arrayA).ToArray();
total
arrayA
total
解决方案
- 数组复制到
在复制数据方面,您可以使用上面的CopyTo解决方案执行此操作:
var source = new string[] { "1", "2", "3" };
var target = new string[3];
try
{
source.CopyTo(target, 0);
}
catch (InvalidCastException)
{
foreach (var element in target)
{
Console.WriteLine(element);
}
}
- 将数组转换为列表
如果您想附加一个数组,您不能以正确的方式执行此操作(不设置目标数组的最大数量/长度并浪费内存)。List 在这里是更好的选择(将数组转换为列表可能是您寻找)。
List<int> lst = ints.OfType<string>().ToList();
- 阵列克隆
另一种选择是克隆整个数组,这意味着对数组项执行浅拷贝。
var source = new[] { "aa", "bb", "cc" };
var target = (string[])source.Clone();
推荐阅读
- reactjs - react-number-format:设置默认值
- javascript - 如何将 v-for 的值绑定到 v-if
- c# - 502 错误网关 nginx/1.16.1
- android - React Native - Android 动画 WebP 不工作
- c# - 如何在 asp.net core 中为 cookie 添加前缀?
- flutter - 登录不适用于 REST API
- amazon-web-services - AWS Amplify 上的 Gatsby 部署失败
- python - 为什么我在这里得到一个'局部变量'长度'可能在赋值之前被引用'警告?
- apache-kafka - 删除旧模式后无法在 Kafka 中添加新模式
- python - 将 json 从 raspberry Pi4 发送到 Laravel 并查看