该算法即将通过将“A”、“B”存储到索引 8 和索引 9 来将字符串从数组 A 存储到数组 B 我真的开始使 B 的数组大小为 10,因为稍后我会在那里放一些其他的东西.
我的部分代码:
string[] A = new string[]{"A","B"}
string[] B = new string[10];
int count;
for(count = 0; count < A.length; count++)
{
B[count] = A[count]
}
该算法即将通过将“A”、“B”存储到索引 8 和索引 9 来将字符串从数组 A 存储到数组 B 我真的开始使 B 的数组大小为 10,因为稍后我会在那里放一些其他的东西.
我的部分代码:
string[] A = new string[]{"A","B"}
string[] B = new string[10];
int count;
for(count = 0; count < A.length; count++)
{
B[count] = A[count]
}
所以你想用 2 增加每个索引:
string[] A = new string[] { "A", "B", "C", "D" };
string[] B = new string[A.Length + 2];
for (int i = 0; i < A.Length; i++)
{
B[i + 2] = A[i];
}
Index: 0 Value:
Index: 1 Value:
Index: 2 Value: A
Index: 3 Value: B
Index: 4 Value: C
Index: 5 Value: D
编辑:所以你想从 B 中的索引 0 开始并且总是留下一个空白?
string[] A = new string[] { "A", "B", "C", "D" };
string[] B = new string[A.Length * 2 + 2]; // you wanted to add something other as well
for (int i = 0; i/2 < A.Length; i+=2)
{
B[i] = A[i / 2];
}
Index: 0 Value: A
Index: 1 Value:
Index: 2 Value: B
Index: 3 Value:
Index: 4 Value: C
Index: 5 Value:
Index: 6 Value: D
Index: 7 Value:
Index: 8 Value:
Index: 9 Value:
更新“除此之外还有其他编码吗?”
您可以使用 Linq,尽管它的可读性和效率不如简单循环:
String[] Bs = Enumerable.Range(0, A.Length * 2 + 2) // since you want two empty places at the end
.Select((s, i) => i % 2 == 0 && i / 2 < A.Length ? A[i / 2] : null)
.ToArray();
根据您上一条评论的最终更新(从 B 中的索引 1 开始):
for (int i = 1; (i-1) / 2 < A.Length; i += 2)
{
B[i] = A[(i-1) / 2];
}
Index: 0 Value:
Index: 1 Value: A
Index: 2 Value:
Index: 3 Value: B
Index: 4 Value:
Index: 5 Value: C
Index: 6 Value:
Index: 7 Value: D
Index: 8 Value:
Index: 9 Value
另一种猜测你想要什么的尝试:
string[] A = new string[] { "A", "B", "C", "D" };
string[] B = new string[A.Length * 2];
for (int i = 0; i < A.Length; i++)
{
B[i*2] = A[i];
}