从嵌入的文本文件中随机选取一行
本文关键字:选取 一行 随机 文本 文件 | 更新日期: 2023-09-27 18:13:33
如何从嵌入的文本文件中随机选择一行?
当我运行程序时,它崩溃并给我这个错误(路径中的非法字符)在这一行(String[] randFirst = File.ReadAllLines(Separis_Fantasy_Tools_PE.Properties.Resources.fnames);)
这是我的。
private void btnRandom_Click(object sender, EventArgs e)
{
String nFirstName;
String nLastName;
Random fname = new Random();
Random lname = new Random();
String[] randFirst = File.ReadAllLines(Separis_Fantasy_Tools_PE.Properties.Resources.fnames);
nFirstName = randFirst[fname.Next(randFirst.Length)];
String[] randLast = File.ReadAllLines(Separis_Fantasy_Tools_PE.Properties.Resources.lnames);
nLastName = randLast[lname.Next(randLast.Length)];
txtCharacterName.Text = nFirstName + " " + nLastName;
return;
}
Separis_Fantasy_Tools_PE.Properties.Resources.fnames
是文本文件本身,而不是文本文件的路径。
private void btnRandom_Click(object sender, EventArgs e)
{
String nFirstName;
String nLastName;
Random rnd= new Random();
String[] randFirst = Separis_Fantasy_Tools_PE.Properties.Resources.fnames.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
nFirstName = randFirst[rnd.Next(randFirst.Length)];
String[] randLast = Separis_Fantasy_Tools_PE.Properties.Resources.lnames.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
nLastName = randLast[rnd.Next(randLast.Length)];
txtCharacterName.Text = nFirstName + " " + nLastName;
return;
}
另一个变化是,您不需要两个随机对象,只需使用一个并调用next
两次。你可能不需要担心它,但你也应该意识到,你编写代码的方式,你可能会得到相同的随机数,每次调用你的函数(如果你做得非常快)。