【发布时间】:2020-12-01 16:07:22
【问题描述】:
我想在 C# 控制台中创建一个随机数生成器,但它没有第二次显示数字。所以我做了一个脚本,它从 .txt 文件中选择一个随机数,读取它,然后从 .txt 中删除它。
我知道没有阅读该行并给出输出的部分,因为我首先想获得删除部分。问题是,它只是删除了完整的 .txt 文件。
脚本:
using System;
using System.IO;
namespace Random_Number_generator
{
class Program
{
static void Main(string[] args)
{
//Generates the random Number
int RandomNumber;
string BGInfo;
Random rnd = new Random();
int GetRandomInt(int min, int max)
{
return rnd.Next(min, max);
}
RandomNumber = GetRandomInt(1, 25);
// 1. Read the content of the file
string[] readText = File.ReadAllLines("D:/BG_Numbers.txt");
Console.WriteLine("Readed: " + readText);
Console.ReadKey();
// 2. Empty the file
File.WriteAllText("D:/BG_Numbers.txt", String.Empty);
using (StreamWriter writer = new StreamWriter("D:/BG_Numbers.txt"))
{
foreach (string s in readText)
{
if (!s.Equals(RandomNumber))
{
writer.WriteLine(s);
}
}
}
}
}
}
【问题讨论】:
-
如果您能提供更多关于究竟是什么不工作的信息将会很有帮助。
-
提示:您可以使用 == 测试是否相等,或者使用 != 测试是否不相等。然后s! =RandomNumber 会出错,因为您将字符串与 int 进行比较
-
你的意思是每次运行时都会产生一个随机数而不重复先前的数字?措辞不清楚。