我正在学习C#,现在我需要构建一个家庭项目(只是为了学习如何使用文件I / O和随机)。我有一个像这样的文件(names.txt):
Nathan
John
Max
Someone
但我如何访问此文件(已知)并选择一个随机名称,打印并从文件中删除此名称?感谢。
答案 0 :(得分:4)
您肯定需要从文件中删除名称吗?或者你可以从内存列表中删除它吗?
无论如何,我会以这种方式分离任务:
File.ReadAllLines
List<string>
System.Random
Random.Next()
File.WriteAllLines
既然您已了解所涉及的步骤,请了解每个步骤 - 如果您遇到问题,请询问有关特定问题的更多详细信息。
答案 1 :(得分:2)
试试这个:
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
namespace Tests.Console
{
class Program
{
static void Main(string[] args)
{
string fileName = "c:\\toto.txt";
var content = File.ReadAllLines(fileName).ToList();
var selected = content[new Random().Next(0, content.Count)];
Debug.Write(selected);
content.Remove(selected);
File.WriteAllLines(fileName, content.ToArray());
}
}
}