C# 在C语言中遍历由数组填充的列表# 公共列表解析CSV(字符串路径) { List parsedData=新列表(); 尝试 { 使用(StreamReader readFile=新StreamReader(路径)) { 弦线; 字符串[]行; 而((line=readFile.ReadLine())!=null) { 行=行。拆分(','); parsedData.Add(行); } } } 捕获(例外e) { MessageBox.Show(e.Message); } 返回数据; }
我想用这段代码来解析CSV,这将返回一个充满数组的列表。我的问题是,如果列表中的数组大小未知,如何遍历它们 例如:C# 在C语言中遍历由数组填充的列表# 公共列表解析CSV(字符串路径) { List parsedData=新列表(); 尝试 { 使用(StreamReader readFile=新StreamReader(路径)) { 弦线; 字符串[]行; 而((line=readFile.ReadLine())!=null) { 行=行。拆分(','); parsedData.Add(行); } } } 捕获(例外e) { MessageBox.Show(e.Message); } 返回数据; },c#,C#,我想用这段代码来解析CSV,这将返回一个充满数组的列表。我的问题是,如果列表中的数组大小未知,如何遍历它们 例如: public List<string[]> parseCSV(string path) { List<string[]> parsedData = new List<string[]>(); try { using (StreamReader rea
public List<string[]> parseCSV(string path)
{
List<string[]> parsedData = new List<string[]>();
try
{
using (StreamReader readFile = new StreamReader(path))
{
string line;
string[] row;
while ((line = readFile.ReadLine()) != null)
{
row = line.Split(',');
parsedData.Add(row);
}
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
return parsedData;
}
for(int a=0;a如果您只想写出每个值,可以使用LINQ将其展平:
for (int a=0; a<=CSVList(firstindex).Length;a++)
for (int a=0; a<=CSVList(secondindex).Length;a++)
否则,可以在两个循环中执行此操作:
var results = parseCSV(path);
foreach(var str in results.SelectMany(i => i))
{
Console.WriteLine(str);
}
var results=parseCSV(路径);
foreach(结果中的var arr)
{
对于(inti=0;i如果它只是一个列表
值,那么最简单的语法是嵌套foreach循环
var results = parseCSV(path);
foreach(var arr in results)
{
for (int i=0;i<arr.Length;++i) // Loop through array
{
string value = arr[i]; // This is the array element...
}
}
您最好使用foreach
循环,而不是传统的for
循环
使用foreach
编写迭代:
foreach (var arrayElement in CSVList) {
foreach (var current in arrayElement) {
...
}
}
使用foreach
只需说“迭代所有元素”,您不必担心有多少个元素。每个数组都有一个大小,因为.NET中的所有数组都继承自System.array
。只需根据列表索引引用数组,然后您就可以简单地迭代到MyArrayFinterest.count-1对,我的问题更多的是c的语法和迭代h数组列表
foreach(string[] array in parsedData) {
foreach(string element in array) {
Console.WriteLine(element);
}
}