【发布时间】:2011-02-08 18:09:56
【问题描述】:
您好,我正在从文本文件中读取数据,并希望将每一行放入一个单独的变量中。从我的编程课程中我记得,数组不能是动态的。因此,如果我设置了 15 个数组,并且文本文件有 1000 行,我能做什么以及如何实现它。
问题是只需要一行,但我希望随机选择该行。 linetext 是在每个请求的末尾附加了 \r\n 的整个文本文件。
也许随机选择 \r\n 然后计数 4 并在其后添加字符串直到下一个 \r\n。这个想法的问题是被调用的字符串也会包含 \ 所以有什么想法吗?
if (crawler == true)
{
TextReader tr = new StreamReader("textfile.txt");
while (tr.Peek() != -1)
{
linktext = linktext + tr.ReadLine() + "\r\n";
}
//link = linktext;
hi.Text = linktext.ToString();
timer1.Interval = 7000; //1000ms = 1sec 7 seconds per cycle
timer1.Tick += new EventHandler(randomLink); //every cycle randomURL is called.
timer1.Start(); // start timer.
}
【问题讨论】:
-
听起来您正在寻找
List<String>。 -
我不太明白该代码示例与问题有何关联。
-
对于另一种方法,您可以读取一个字符串并存储一个字符串。读取第 n 行时,以 1/n 的概率将其放入存储字符串中。当您读取文件时,存储字符串将包含一个随机行,每行具有相同的概率(随机数生成器的模均匀性问题)。
标签: c# .net streamreader inputstreamreader