Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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语言中CSV文件的多维数组#_C#_Arrays_File_Multidimensional Array_Streamreader - Fatal编程技术网

C# C语言中CSV文件的多维数组#

C# C语言中CSV文件的多维数组#,c#,arrays,file,multidimensional-array,streamreader,C#,Arrays,File,Multidimensional Array,Streamreader,早上好! 所以我想在C#中为CSV文件创建一个多维数组。我编写了这个代码,但它不起作用。有人能帮我吗 StreamReader sr = new StreamReader(@"C:\_repos\2021-3xhit-p1-team-02\Programm\CodeZuweisen.txt"); string[,] info = new string[10,6]; int line = 0; s

早上好! 所以我想在C#中为CSV文件创建一个多维数组。我编写了这个代码,但它不起作用。有人能帮我吗

        StreamReader sr = new StreamReader(@"C:\_repos\2021-3xhit-p1-team-02\Programm\CodeZuweisen.txt");

      
        string[,] info = new string[10,6];
        int line = 0;

        string content = sr.ReadToEnd();
        string[] s = content.Split(',');

        for (int i = 0; i < s.Length; i++)
        {

            if (i % 6 == 0 && i!=0)
            {
                ++line;
            }
            else
            {
                info[line, i] = s[i];
            }
        }


        lblAusgabe.Text = info[1,2];
StreamReader sr=new StreamReader(@“C:\\U repos\2021-3xhit-p1-team-02\program\codezweisen.txt”);
字符串[,]信息=新字符串[10,6];
内线=0;
字符串内容=sr.ReadToEnd();
字符串[]s=content.Split(',');
对于(int i=0;i
如果我想运行这个程序,是否没有输出? 我已经用java编程了,它也可以工作,但我不喜欢C#:D

任何形式的帮助都会很棒!
祝你今天愉快

首先,
string.Split(',')
不是CSV解析工具。您应该使用专用的CSV解析器和强类型输出,例如

其次,
ReadToEnd
将为您提供一个长字符串。解决方法是先按新线拆分。但是,在这里使用锯齿状数组可能更容易(它将生成
字符串[][]
)。锯齿状数组更容易使用,因为您可以使用标准Linq方法,该方法采用
IEnumerable
,并且不需要一直挖掘维度

示例

var myArray = File.ReadAllLines("FileName")
                  .Select(x => x.Split(','))
                  .ToArray();

// print the results to screen
foreach (var line in myArray)
   Console.WriteLine(string.Join(", ", line));

你能显示你的excel数据吗?这是一个文本文件。请发布一个包含你的输入和预期输出的文件,以便我们可以复制问题。顺便说一句:你没有重置
i
。[1,2]中不能有非空字符串。我想知道你为什么没有一个IndexOutOfBoundsException。。。也许我在这里遗漏了一些东西。“我已经用java编程了,它也可以工作”——我有我的疑问。这方面的Java代码应该与这段代码非常接近。因此,如果在Java中有相同的(=“等价物”),它就无法“工作”。