加载具有不同行/列的CSV文件C#

加载具有不同行/列的CSV文件C#,c#,arrays,list,csv,C#,Arrays,List,Csv,这可能是一个愚蠢的问题,加载文件并不太好,但在加载行和列中元素数量不同的csv文件时需要帮助。存储在数组或列表中是否更好?我将如何执行此操作? 范例 25 , 15 , 20 apple , tree , carrot , walking, etc.. 其中数字是列,单词是行 基于其他一些答案,我尝试过类似的方法,但它崩溃了,因为我没有引用对象。有什么建议吗 StreamReader sr = new StreamReader(filena

这可能是一个愚蠢的问题,加载文件并不太好,但在加载行和列中元素数量不同的csv文件时需要帮助。存储在数组或列表中是否更好?我将如何执行此操作?
范例

25     ,     15   ,    20  
apple  ,  
tree   ,  
carrot ,  
walking,  
etc.. 
其中数字是列,单词是行

基于其他一些答案,我尝试过类似的方法,但它崩溃了,因为我没有引用对象。有什么建议吗

StreamReader sr = new StreamReader(filename);
String[,] wordlist = null;
int Row = 0;
while(!sr.EndOfStream)
{
    String[] header = sr.ReadLine().Split(',');
    wordlist[Row, 0] = header[Row];
    Row++;
}

我没有检查,但相信它是有效的

StreamReader sr = new StreamReader(filename);
// String[,] wordlist = null;
var wordList = new List<string[]>();
//int Row = 0;
while(!sr.EndOfStream)
{
    String[] header = sr.ReadLine().Split(',');
    //wordlist[Row, 0] = header[Row];
    wordList.Add(header); 
    //Row++;
}
StreamReader sr=新的StreamReader(文件名);
//字符串[,]字列表=空;
var wordList=新列表();
//int行=0;
而(!sr.EndOfStream)
{
String[]header=sr.ReadLine().Split(',');
//字表[行,0]=标题[行];
添加(标题);
//行++;
}

这确实有效!奇怪的是,它没有正确地读取文件。我检查了csv是visual studio,列表似乎是这样的,,,otherword,,,有没有办法只读取行?String[,]wordlist=null;如果您有问题,您的2D数组没有初始化,这就是引发异常的原因。它应该读字符串[,]单词列表=新字符串[你的长度,你的长度];