Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将多维数组的值写入文本文件_C#_Multidimensional Array_Io_Text Files - Fatal编程技术网

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]的数组

  • 启动x和y到0

  • 逐y递增[x,y++]

  • 在y的末尾(当X的所有y都已消耗时),打印一个 新行字符

  • 增量x乘以1

  • 继续

  • 锯齿状阵列通常比二维阵列更方便

    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();
            }
        }