请问一下,C#中如何才能随机显示自己存在TXT文档中的单词?
还有用                StreamReader sr=new StreamReader("example.txt",System.Text.Encoding.GetEncoding("gb2312"));
                {
                    String line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        i += 1;
                        english = sr.ReadLine();
                        chinese = sr.ReadLine();
                     }
为什么出来的单词都是一样的? 谢谢

解决方案 »

  1.   

    你这样写肯定是读到最后一行啊。
    你想随机读啊,那就在while ((line = sr.ReadLine()) != null))里面随机break吧
      

  2.   

    我刚学不久,能不能说仔细点?
    我是在最后个括号外面写了句
     label1.Text = english[i];
    因为我的TXT文件中是一行中文 一行英文,但是我想让他只出现英文
    可我这样写每次出来的都是中文而且不会变
      

  3.   

    .ReadToEnd(),替换\r\n为 "",然后分割,放进数组
      

  4.   

    你txt里怎么能区分出一个一个单词
      

  5.   

    用readline
    读取一行的字符啊
      

  6.   

    恩,对的,我TXT是一行一个单词弄的
      

  7.   


    你的循环就是一直读到尾,你在循环中加个msgbox就能看到每行的数据了。
      

  8.   

     StreamReader sr=new StreamReader("example.txt",System.Text.Encoding.GetEncoding("gb2312")); 
                       ArryayList  al=new ArrayList();
                        
                        while ((line = sr.ReadLine()) != null) 
                        { 
                           al.Add(sr.ReadLine());
                        } 
    //随即显示   Random r=new Random();
       int i=r.Next();
      this.TextBox.text=al[i].ToString();
      

  9.   

    恩,对的,每次出来的都是最后一个单词,前面几个单词都显示不了 msgbox是弹出对话框?
    我做的是单击一下按钮单词就换一个,要从第一个到最后一个,我用的是label.text
      

  10.   

    StreamReader sr=new StreamReader("example.txt",System.Text.Encoding.GetEncoding("gb2312")); 
                       ArryayList  al=new ArrayList();
                        
                        while (sr.ReadLine() != null) 
                        { 
                           al.Add(sr.ReadLine());
                        } 
    //随即显示 
      Random r=new Random();
       int i=r.Next();
      this.TextBox.text=al[i].ToString();
      

  11.   

    ArryayList  al=new ArrayList();
    这个是什么意思?
      

  12.   

    加上using System.Collections;
    ArryayList  al=new ArrayList(); 
    al是个集合,就是动态的数组
      

  13.   

    那个随机的不行额。。我用TRY写一直出现异常
      

  14.   

                StreamReader sr = new StreamReader("example.txt", System.Text.Encoding.GetEncoding("gb2312"));
                {
                    String line;
                    Random rnd = new Random();
                    while ((line = sr.ReadLine()) != null)
                    {
                        i += 1;
                        english = sr.ReadLine();
                        chinese = sr.ReadLine();                    int i = rnd.Next(0, 20);
                        if (i == 0)
                        {
                            break;
                        }
                    }
                }
      

  15.   


    //定义成全局 变量
    ArryayList  al=new ArrayList();
    int i=0;
    //加载事件
    private void Form1_Load(object sender, EventArgs e)
            {
                StreamReader sr = new StreamReader("example.txt", System.Text.Encoding.GetEncoding("gb2312"));            while (sr.ReadLine() != null)
                {
                    al.Add(sr.ReadLine());
                } 
            }private void button1_Click(object sender, EventArgs e)
            {
                if (al.Count ==0)
                    return;
                if(i>=al.Count)
                 return;
                label1.Text = al[i].ToString();
                i++;
            }
      

  16.   

    //定义成全局 变量
    ArryayList  al=new ArrayList();
    int i=0;
    //加载事件
    private void Form1_Load(object sender, EventArgs e)
            {
                StreamReader sr = new StreamReader("example.txt", System.Text.Encoding.GetEncoding("gb2312"));            while (sr.ReadLine() != null)
                {
                    al.Add(sr.ReadLine());
                } 
            }private void button1_Click(object sender, EventArgs e)
            {
                if (al.Count ==0)
                    return;
                if(i>=al.Count)
                {
                   i=0;//重新开始循环
                   return;
                 }
                label1.Text = al[i].ToString();
                i++;
            }
      

  17.   

    原来那个随机的是我txt文件没弄好。。哈哈,不好意思啊
      

  18.   

    liherun  前面那个随机的我一共10行单词,next(0,9)  是不是这样写啊?
    为什么随机不是每次都成功的
      

  19.   

    索引超出范围。必须为非负值并小于集合大小。
    参数名: index
    一直出来这个
      

  20.   

    StreamReader sr=new StreamReader("example.txt",System.Text.Encoding.GetEncoding("gb2312")); 
                       ArryayList  al=new ArrayList();
                        
                        while (sr.ReadLine() != null) 
                        { 
                           al.Add(sr.ReadLine());
                        } 
    //随即显示 
      Random r=new Random();
       int i=r.Next();
      this.TextBox.text=al[i%al.Length].ToString();
    不好意思
    忘记了,this.TextBox.text=al[i%al.Length].ToString();
      

  21.   

    他说错误 1 “System.Collections.ArrayList”并不包含“Length”的定义
      

  22.   

    this.TextBox.text=al[i%al.Count].ToString();什么都问的话你是学不会东西的,自己多动手(打代码),多动脑,少动嘴