2016-12-16 48 views
-1

這是我的代碼,我在下面的鏈接中也有一段代碼,說明我的程序在運行時的外觀。我的問題是與第二個文本框,它是隨機亂碼填寫。我的第一個文本框完美地工作,它從我的文本文件中選取一個隨機的名字並將其放入文本框中。我不明白我的第二個文本文件不會做同樣的事情嗎?C#用隨機名填寫的第二個文本框

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 
using System.IO; 

namespace WindowsFormsApplication6 
{ 
    public partial class Form1 : Form 
    { 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     { 
      Random r = new Random(); 
      int currentLinefirst = 1; 
      string pick = null; 

      foreach (string line in File.ReadLines("C:\\Users\\Admin\\Desktop\\C# Programs\\WindowsFormsApplication5\\WindowsFormsApplication5\\First Names.txt")) 
      { 
       if (r.Next(currentLinefirst) == 0) 
       { 
        pick = line; 
       } 
       ++currentLinefirst;      
      } 
      textBox1.Text = pick;     
     } 

     Random n = new Random(); 
     int currentLinelast = 1; 
     string pick2 = null; 
     foreach (string line1 in File.ReadLines("C:\\Users\\Admin\\Desktop\\C# Programs\\WindowsFormsApplication5\\WindowsFormsApplication5\\Last Names.txt")) 
     { 
      if (n.Next(currentLinelast) == 0) 
      { 
       pick2 = line1; 
      } 

      ++currentLinelast; 
     } 
     textBox2.Text = pick2;    
    } 
} 
} 

我得到的隨機數的這個輸出文本

enter image description here

+0

如果你不介意,你可以告訴我們你的文本文件。 – active92

+0

請附上txt文件 – Usman

+0

這是我的名字和姓氏文本文件https://github.com/wulfcare/Noob-Code – BabyProgrammer

回答

1

這可能是因爲你的第二個文件包含多種名稱的線路。當您調用File.ReadLines時,它將在每行上返回一個字符串數組

嘗試使用換行符分隔您的姓氏。

0

你可以試試這個:

string firstname = textBox1.Text; 
string lastname = textBox2.Text; 
Byte[] info = new UTF8Encoding(true).GetBytes(firstname + lastname); 

string FilePath = yourpath + DateTime.Now.ToString("dd-MMM-yyyy") + ".txt"; 

using (FileStream fs = File.Create(FilePath)) 
     {fs.Write(info, 0, info.Length);} 
0

要將文本保存到一個文本文件中使用

using (System.IO.StreamWriter file = 
      new System.IO.StreamWriter(@"C:\Users\Admin\Desktop\test.txt", true)) 
      { 
       file.WriteLine("First Name: {0} Last Name: {1}", textBox1.Text, textBox2.Text); 
      } 

{0}{1}是佔位符

如果文件不存在,它會創建一個新的文件到給定的路徑,如果該文件已經存在,那麼它會添加新的條目到文件中。