我使用List来存储值,如果数据有限,它的工作正常,如果数据超过15o的数量,那么我得到以下错误 索引超出了数组的范围...... Plz提出了克服这个问题的想法。
List<string> code = new List<string>();
private void btn_browse_Click(object sender, EventArgs e)
{
DialogResult fileopen = openFileDialog1.ShowDialog();
string filename = openFileDialog1.FileName;
txt_filename.Text = filename;
try
{
StreamReader readtxtfile = new StreamReader(filename);
String line = null;
string str = null;
char[] separate = { ',' };
string[] words;
while ((str = readtxtfile.ReadLine()) != null)
{
words = str.Split(separate);
code.Add(Convert.ToString(words[0]) + '-' + Convert.ToString(words[2]).Trim());
}
}
答案 0 :(得分:1)
没有代码可以帮助您查看。
检查以确保indexOutOfBounds错误来自您的列表,而不是您的拆分字符串。
答案 1 :(得分:1)
此错误不是因为您的列表,而是来自您的数组“单词”。首先检查这个数组的长度
words = str.Split(separate);
if(words.Length>2)
{
code.Add(Convert.ToString(words[0]) + '-' + Convert.ToString(words[2]).Trim());
}
确保每当数组的长度小于2时,它就不会添加到列表中。
希望这会有所帮助......