C# C语言中CSV文件的多维数组#
早上好! 所以我想在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
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中有相同的(=“等价物”),它就无法“工作”。