由于最近推广网站的需要,笔者自己想制作一款软件来实现网站增流的目的,开发环境为win7 + visual studio 2012 C#.net,其中有有一项功能需要从txt文本文档中随机读取一行,偏偏这个功能在使用的时候怎么都出现错误,没办法到网上求助,经过多方参考借鉴,亦是美网络找到了一种适合自己开发需要的方法,如果你也正在查询这个功能,那就赶快往下看吧。
先给大家说下我的思路,要从文本文档中随机读取一行,那么我就需要将整个文本逐行读取下来,然后将其写入到一个动态数组里,然后我们再建立一个随机数,这个随机数用于动态数组的下标,只要这个数是随机的,那么数组里取值就是随机的,这样我们就实现了整个文本文档逐行的随机,下面附上代码:
相关阅读:
C#不足位数补零String.PadLeft Method (Int32, Char)方法详解
C#控件ComboBox没有只读属性怎么办?如何让ComboBox显示初始默认值?
StreamReader sr = new StreamReader(@".\test.txt",System.Text.Encoding.GetEncoding("gb2312")); //读取指定文本文档
ArrayList al = new ArrayList();//建立动态数组
Random r = new Random();//随机数
while(sr.Peek()>=0) //逐行读取文本文档
{
al.Add(sr.ReadLine());//将读取到的行写到数组中
}
int i = r.Next(0, 6); 定义随机数的范围
string str = al[i].ToString(); //将读取到的随机数组值赋给str
Console.WriteLine(str); //打印出str
Console.ReadKey();
C#小帮助:StreamReader的Peek 方法的使用,表示要读取的下一个字元(本文为下一行),该方法传回整数值,如果读取完毕,则返回整数值-1。