我正在尝试从网站读取CSV文件,然后将初始字符串拆分为\n
,然后再按,
拆分。
当我尝试打印出其中一个数组的内容时,它非常慢,每个Console.WriteLine()
打印每个元素之间需要差不多一秒钟。
我不完全确定为什么需要花费大量时间来打印。
任何指针都会有所帮助
public List<string[]> list = new List<string[]>();
public List<string[]> Content
{
get
{
using (var url = new WebClient())
{
_content = url.DownloadString("https://docs.google.com/spreadsheets/d/1DDhAd98p5RwXqvV53P2YvaujIQEg28HjeXasrCge9Qo/pub?output=csv");
}
var urlArr = _content.Split('\n');
foreach (var i in urlArr)
{
var contentArr = i.Split(',');
List.Add(contentArr);
}
return list;
}
}
主要
var data = new ReadCSV();
for(var i = 0; i < data.Content[2].Length; i++)
Console.WriteLine(data.Content[2][i]);
答案 0 :(得分:1)
你应该在Content
属性中或在循环之前将结果缓存到变量中,因为当前你的代码下载并在每次循环中拆分字符串,这就是为什么它需要1秒
因此,您的代码应如下所示:
var data = new ReadCSV();
var content = data.Content[2];
for(var i = 0; i < content.Length; i++)
Console.WriteLine(content[2][i]);