我正在尝试将数组的一部分复制到一个新数组并搜索一个解决方案,但是那些解决方案是分配编码或者不是我想要的。它可能是我在谷歌搜索错误,但很抱歉,如果这个答案很容易找到,我找不到。
我有阵列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"和" F"
也很抱歉英语不好它不是我的母语,我试图在谷歌搜索:
我的第一次搜索的结果让我得到了关于如何获得2D数组的页面,但这不是我需要的。 "如何将数组的2个部分复制到新数组"什么引导我到array.copy标签 之后我试着查看" array.copy manual"但这只会导致我无法使用array.copy来完成它所以有人知道如何在紧凑的代码中执行此操作吗?
一次。对不起,如果答案显而易见的话。
答案 0 :(得分:3)
还有一种方法可以给出数组
B
值0,1,4,5。所以它给了我" A" " B" " E"和" F"
不,因为B
是一个string
的数组。但是,您可以从单独的索引数组开始,然后根据它们从A
进行复制:
int[] indexes = new[] {0, 1, 4, 5};
string[] B = indexes.Select(i => A[i]).ToArray();
答案 1 :(得分:1)
一种方法可能是:
var indices = new[] { 0, 1, 4, 5 };
var copy = A.Where((s, i) => indices.Contains(i)).ToArray();
答案 2 :(得分:0)
嗯,我刚刚用我的代码喋喋不休,我觉得这很有效:
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