2009-11-02 89 views
1

我正在學習C#,現在我需要構建一個家庭項目(只是爲了學習如何使用文件I/O和隨機)。我有一個文件(names.txt中)是這樣的:從文件中選擇隨機數據

Nathan 
John 
Max 
Someone 

但我怎麼可以訪問此文件(已經知道了),然後選擇一個隨機名稱,打印,並從文件中刪除這個名字?謝謝。

回答

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()); 
     } 
    } 
} 
4

您是否確實需要從文件中刪除名稱?或者你可以從內存中的列表中刪除它嗎?

無論如何,我會單獨拿出來的任務是這樣的:

  • 加載該文件中的文本例如與File.ReadAllLines
  • 轉換爲List<string>這將讓您從列表中
  • 刪除元素
  • 創建的System.Random
  • 一個新的實例選擇使用Random.Next()
  • 取一個隨機元素(和刪除)的名稱打印名稱
  • ,帶有寫回文件File.WriteAllLines

現在您已知道所涉及的步驟,請仔細閱讀每個步驟 - 如果遇到困難,請提供有關特定問題的更多詳細信息。

+0

我需要從文件中刪除,對不起:(,但感謝你的很好的答案,當我看到名稱和代表 – 2009-11-02 23:47:35

+0

瞬間混亂打動了我 - 「誰!這託尼小馬,他們是如何得到111K代表沒有我見過他們回答一個問題?「 - 然後我檢查了配置文件和所有混亂消散:) – 2009-11-02 23:50:10

+0

@Russ我看到他的個人資料,我可以看到他是Jon Skeet,博客鏈接是Jon Skeet的博客。 – 2009-11-03 17:32:46