我每次按F9时都试图从文本文件中获取随机行。
我使用的是:
static class Randomyze
{
public static string[] allLinks = File.ReadAllLines(@"links.txt");
public static Random randomLink = new Random();
public static int setLink = randomLink.Next(0, allLinks.Length - 1);
public static String getLink = allLinks[setLink];
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.F9)
{
MessageBox.Show(Randomyze.getLink);
}
return true;
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}
但是当我按下F9时,我仍然保持同样的路线。
我做错了什么?
答案 0 :(得分:1)
您的代码会在程序启动时生成一个随机数。您需要对其进行修改,以便在每次按下该键时生成一个新的随机数。
提示:根本不要使用static
。
答案 1 :(得分:1)
这两行:
public static int setLink = randomLink.Next(0, allLinks.Length - 1);
public static String getLink = allLinks[setLink];
初始化类时只执行一次。
您的命名约定实际上是指向您想要的方式。动词(get,set,here)通常应该与函数相对应。尝试将这些重写为函数,返回感兴趣的项目(链接索引,文件中的链接)。