C# 如何将多维数组的值写入文本文件
假设我有这个数组C# 如何将多维数组的值写入文本文件,c#,multidimensional-array,io,text-files,C#,Multidimensional Array,Io,Text Files,假设我有这个数组 [0,0] = A [0,1] = B [0,2] = C [1,0] = D [1,1] = E [1,2] = F [2,0] = G [2,1] = H [2,2] = I [3,0] = J [3,1] = K [3,2] = L 我希望将它们写入如下文本文件: A B C D E F G H I J K L 我该怎么办?假设二维x和y 一个类似于[x,y]的数组 启动x和y到0 逐y递增[x,y++] 在y的末尾(当X的所有y都已消耗时),打印一个 新行字符 增量
[0,0] = A
[0,1] = B
[0,2] = C
[1,0] = D
[1,1] = E
[1,2] = F
[2,0] = G
[2,1] = H
[2,2] = I
[3,0] = J
[3,1] = K
[3,2] = L
我希望将它们写入如下文本文件:
A B C
D E F
G H I
J K L
我该怎么办?假设二维x和y 一个类似于[x,y]的数组
static void Main(字符串[]args)
{
var数组=新字符串[4,3];
数组[0,0]=“A”;
数组[0,1]=“B”;
数组[0,2]=“C”;
数组[1,0]=“D”;
数组[1,1]=“E”;
数组[1,2]=“F”;
数组[2,0]=“G”;
数组[2,1]=“H”;
数组[2,2]=“I”;
数组[3,0]=“J”;
数组[3,1]=“K”;
数组[3,2]=“L”;
使用(var sw=new StreamWriter(“outputText.txt”))
{
对于(int i=0;i<4;i++)
{
对于(int j=0;j<3;j++)
{
sw.Write(数组[i,j]+“”);
}
sw.Write(“\n”);
}
sw.Flush();
sw.Close();
}
}
public static class ArrayExtensions {
// In order to convert any 2d array to jagged one
// let's use a generic implementation
public static T[][] ToJagged<T>(this T[,] value) {
if (Object.ReferenceEquals(null, value))
return null;
// Jagged array creation
T[][] result = new T[value.GetLength(0)][];
for (int i = 0; i < value.GetLength(0); ++i)
result[i] = new T[value.GetLength(1)];
// Jagged array filling
for (int i = 0; i < value.GetLength(0); ++i)
for (int j = 0; j < value.GetLength(1); ++j)
result[i][j] = value[i, j];
return result;
}
}
var array = new string[,] {
{"A", "B", "C"},
{"D", "E", "F"},
{"G", "H", "I"},
{"J", "K", "L"},
};
File.WriteAllLines(@"C:\MyFile.txt", array
.ToJagged()
.Select(line => String.Join(" ", line));
static void Main(string[] args)
{
var array = new string[4, 3];
array[0, 0] = "A";
array[0, 1] = "B";
array[0, 2] = "C";
array[1, 0] = "D";
array[1, 1] = "E";
array[1, 2] = "F";
array[2, 0] = "G";
array[2, 1] = "H";
array[2, 2] = "I";
array[3, 0] = "J";
array[3, 1] = "K";
array[3, 2] = "L";
using (var sw = new StreamWriter("outputText.txt"))
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 3; j++)
{
sw.Write(array[i,j] + " ");
}
sw.Write("\n");
}
sw.Flush();
sw.Close();
}
}