btnImport()
{
GetVideoLists();
}
public static void GetVideoLists(string listFile)
{
videoList = new List<videoInfo>();
string[] videoArr = File.ReadAllLines(listFile);
foreach (string videoInfo in videoArr)
{
string[] info = videoInfo.Split(new char[] { ',' });
// here i get error
videoInfo tempInfo = new videoInfo(info[0].Trim(), info[1].Trim());
if (CheckVideoUrl(tempInfo.videoUrl))
{
videoList.Add(tempInfo);
}
}
}
问问题
111 次
2 回答
4
问题是您假设文件中的每一行都至少有一个逗号:
string[] info = videoInfo.Split(new char[] { ',' });
videoInfo tempInfo = new videoInfo(info[0].Trim(), info[1].Trim());
如果 . 中没有逗号,这将失败videoInfo
。要解决此问题,请使用:
string[] info = videoInfo.Split(new char[] { ',' });
if (info.Length >= 1)
{
videoInfo tempInfo = new videoInfo(info[0].Trim(), info[1].Trim());
...
}
或者
string[] info = videoInfo.Split(new char[] { ',' });
if (info.Length < 1)
continue;
videoInfo tempInfo = new videoInfo(info[0].Trim(), info[1].Trim());
...
于 2013-07-03T16:22:49.893 回答
3
您用逗号分隔,字符串可能不包含逗号,因此 info[1] 不存在。
向我们展示 videoinfo 的价值。如果它包含say "test, test2"
,那就没问题了。当你用逗号分割时,你会得到位置 [0] 和 [1]。
于 2013-07-03T16:22:29.687 回答