C#在一个数组后面再加一个数组
时间: 2023-06-17 14:06:03 浏览: 105
可以使用Array类中的Concat方法将两个数组合并成一个新数组。例如:
```C#
int[] array1 = { 1, 2, 3 };
int[] array2 = { 4, 5, 6 };
int[] newArray = array1.Concat(array2).ToArray();
```
这段代码将array2数组合并到array1数组的末尾,生成一个新的数组newArray。注意,Concat方法返回的是一个IEnumerable类型,需要使用ToArray方法将其转换为数组。
相关问题
c# 将一个数组加到另一个数组
在 C# 中,将一个数组添加到另一个数组通常涉及到数组连接或者是数组拼接的操作。这里有两种常见的方法:
1. **直接相加(Concatenate)**:
如果两个数组元素类型相同并且可以相加,比如都是整数数组,你可以直接使用 `Array.Concat()` 方法将它们合并成一个新的数组。例如:
```csharp
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] result = Array.Concat(array1, array2);
```
这会创建一个新的数组 `result`,包含 `array1` 和 `array2` 的所有元素。
2. **动态数组(Dynamic Array)**:
对于动态数组(如 `System.Collections.Generic.List<T>`),可以直接通过 `AddRange()` 方法添加另一个列表到第一个列表中:
```csharp
List<int> list1 = new List<int>{1, 2, 3};
List<int> list2 = new List<int>{4, 5, 6};
list1.AddRange(list2);
```
3. **数组拷贝(CopyTo)**:
如果你想保持原始数组不变,可以先复制其中一个数组到临时数组,然后再合并:
```csharp
int[] array1 = {1, 2, 3};
int[] tempArray = new int[array1.Length + array2.Length];
Array.Copy(array1, 0, tempArray, 0, array1.Length);
Array.Copy(array2, 0, tempArray, array1.Length, array2.Length);
```
然后 `tempArray` 就包含了两个数组的内容。
c# 文本文件写入二维数组,每个数组元素用逗号分隔
可以使用C#的StreamWriter类进行文本文件写入,同时使用foreach循环遍历二维数组,将每个元素转换为字符串并用逗号分隔,然后写入文本文件。以下是示例代码:
```csharp
int[,] array = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
string filePath = "array.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
for (int i = 0; i < array.GetLength(0); i++)
{
for (int j = 0; j < array.GetLength(1); j++)
{
writer.Write(array[i, j].ToString());
if (j < array.GetLength(1) - 1)
{
writer.Write(",");
}
}
writer.WriteLine();
}
}
```
在上述代码中,首先定义了一个二维整型数组和一个文件路径。然后使用StreamWriter类创建一个写入文件的实例,利用两个嵌套的循环遍历数组,并将每个元素转换为字符串并用逗号分隔,最后写入文件。注意,在内层循环中,在每行的最后一个元素后面不需要再加逗号,因此需要进行判断。
阅读全文