我正在研究這個程序,它的一個功能是讓程序自動從文本文件中隨機選擇一行(它包含的內容並不重要)並將其顯示在文本框中。從文本文件中讀取隨機文本到C中的文本框#
我花了很多時間混合和匹配各種代碼(streamReader等),但沒有什麼我似乎嘗試的作品。
這個我知道工程lol:Random rand = new Random();
此外,請請,請不要只給我一些網站的鏈接來幫助我,因爲這些網站是非常困惑我。
我在問的是有人向我解釋我應該做什麼以及我應該有什麼代碼。
謝謝您的提前!
我正在研究這個程序,它的一個功能是讓程序自動從文本文件中隨機選擇一行(它包含的內容並不重要)並將其顯示在文本框中。從文本文件中讀取隨機文本到C中的文本框#
我花了很多時間混合和匹配各種代碼(streamReader等),但沒有什麼我似乎嘗試的作品。
這個我知道工程lol:Random rand = new Random();
此外,請請,請不要只給我一些網站的鏈接來幫助我,因爲這些網站是非常困惑我。
我在問的是有人向我解釋我應該做什麼以及我應該有什麼代碼。
謝謝您的提前!
這會從文件中返回一個隨機行:
private static Random _rand = new Random();
public static string GetRandomLine(string filename)
{
var lines = File.ReadAllLines(filename);
var lineNumber = _rand.Next(0, lines.Length);
return lines[lineNumber];
}
請不要在方法內部實例化'Random'實例,因爲可能會連續多次調用該方法,導致返回非隨機值。總是讓'Random'成爲一個靜態類字段來避免這些問題。 – Enigmativity
另外,'rnd.Next'中的第二個參數是**獨佔**上限。您需要刪除' - 1'才能使其工作。 – Enigmativity
@Enigmativity謝謝,我糾正了。 – RagtimeWilly
要顯示一個文本文件的隨機線,您應該:
Random
類。這裏是僞代碼做同樣的事情:
Load TextFile
string[] text = Array of lines of text in TextFile
Random rnd = new Random object
int randomLine = New random number generated between 0 and (text.Length - 1)
Print text[randomLine]
您可以發佈您的代碼那麼遠? – RagtimeWilly