如何将数组的部分复制到新数组.c#

本文关键字:数组 新数组 复制 | 更新日期: 2023-09-27 18:16:40

我正试图将数组的部分复制到一个新数组并寻找解决方案,但所有这些解决方案都是大量编码或不完全是我正在寻找的。这可能是我在谷歌上搜索错了,但对不起,如果这个答案很容易找到,我找不到它。

我有数组A

string[] A = {"A", "B", "C", "D", "E", "F"};

我试图使用

将它的部分复制到数组B

string[] B = new string[2]; Array.Copy(A, 0, B, 0, 2)

但是这只是返回数组a的固定部分所以数组B由a和B组成

是否也有一种方法给数组B赋值0,1,4,5。所以它给出了"A" B" E"answers"F"

也很抱歉英语不好,这不是我的母语,我试着在谷歌上搜索:

分配我的第一次搜索的结果让我的页面关于如何获得一个二维数组,但这不是我需要的。"如何将数组的两个部分复制到一个新数组"这让我想到了数组。复制标签之后,我试着查找"数组"。复制手册",但这只会让我相信它不能与数组。有人知道如何在简洁的代码中做到这一点吗?

如何将数组的部分复制到新数组.c#

也有一种方法给数组B值0,1,4,5。所以它给出了"A" B" E"answers"F"

不,因为Bstring s的数组。但是,您可以从单独的索引数组开始,并基于它们从A复制:

int[] indexes = new[] {0, 1, 4, 5};
string[] B = indexes.Select(i => A[i]).ToArray();

一种方法是:

var indices = new[] { 0, 1, 4, 5 };
var copy = A.Where((s, i) => indices.Contains(i)).ToArray();

嗯,我只是修改了一下我的代码,我想这是可行的:

string[] A = {"A", "B", "C", "D", "E", "F"}; string[] B = new string[4]; Array.Copy(A, 0, B, 0, 2) Array.Copy(A, 4, B, 2, 2)

它给数组B值A B E和F