2013-10-17 140 views
0

我有一個小問題,試圖找出如何設置一個字符串變量等於某個.txt文件的某些行。我試圖做的是設置ContactInformatiom.ContactName和所有ContactInformation的東西等於.txt文件的不同行,我保存的定義,但我似乎無法弄清楚如何做到這一點。我已經嘗試了各種各樣的東西,但它們都不起作用,我已經瀏覽了本網站和其他網站,並沒有遇到與我自己的問題相同的人,我不確定這是我的方式'它的措辭或什麼。設置一個字符串等於一個.txt文件的行

我用下面的代碼:

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 Contact_List 
{ 
public partial class Form1 : Form 
{ 

    string contactpath = @"CurrentContacts.txt"; 
    string contactpath2 = @"" + ContactInformation.ContactName + ".txt"; 
    public Form1() 
    { 
     if(!File.Exists(contactpath)) 
     { 
      File.Create(contactpath, 1024).Dispose(); 
     } 
     InitializeComponent(); 
    } 

    private void AddContactButton_Click(object sender, EventArgs e) 
    { 
     NewContactTextBoxName.Visible = true; 
     NewContactTextBoxCell.Visible = true; 
     NewContactName.Visible = true; 
     NewContactPhoneNumberOther.Visible = true; 
     NewContactSaveButton.Visible = true; 
     NewContactSaveText.Visible = true; 
     textBox6.Visible = true; 
     textBox5.Visible = true; 
     textBox4.Visible = true; 
    } 
    private void NewContactSaveButton_Click_1(object sender, EventArgs e) 
    { 
     if (NewContactTextBoxName.Text == "") 
     { 
      MessageBox.Show("Please enter a Contact Name"); 
     } 
     else 
     { 
      ContactInformation.ContactName = NewContactTextBoxName.Text; 
      string contactpath2 = @"" + ContactInformation.ContactName + ".txt"; 
      string Readfile = File.ReadAllText(contactpath); 
      if (Readfile.Contains(NewContactTextBoxName.Text)) 
      { 
       MessageBox.Show("This contact already exsists. Please rename the contact you're trying to create or delete the exsisting contact"); 
      } 
      else 
      { 
       comboBox1.Items.Add(ContactInformation.ContactName); 
       File.Create(contactpath2).Dispose(); 
       using (StreamWriter Writeline = new StreamWriter(contactpath, true)) 
       { 
       Writeline.WriteLine(ContactInformation.ContactName); 
       Writeline.Dispose(); 
       } 
       using (StreamWriter Writeline2 = new StreamWriter(contactpath2, true)) 
       { 
       Writeline2.WriteLine(NewContactTextBoxName.Text); 
       Writeline2.WriteLine(NewContactTextBoxCell.Text); 
       Writeline2.WriteLine(NewContactPhoneNumberOther.Text); 
       Writeline2.WriteLine(textBox6.Text); 
       Writeline2.WriteLine(textBox5.Text); 
       Writeline2.WriteLine(textBox4.Text); 
       Writeline2.Dispose(); 
       } 
       NewContactName.Visible = false; 
       NewContactPhoneNumberOther.Visible = false; 
       NewContactSaveButton.Visible = false; 
       NewContactSaveText.Visible = false; 
       textBox6.Visible = false; 
       textBox5.Visible = false; 
       NewContactTextBoxName.Visible = false; 
       NewContactTextBoxCell.Visible = false; 
       textBox4.Visible = false; 


      } 
     } 
    } 

    private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) 
    { 
    string currentselection = @"" + comboBox1.SelectedItem.ToString() + ".txt"; 
    File.ReadAllLines(currentselection); 
    //set Contactinformation.ContactName = to line one of the .txt file 
    //set ContactInformation.ContactCell = to line two of the .txt file 
    //etc. 



     } 
    } 
} 

及以下類:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Contact_List 
{ 
public class ContactInformation 
{ 
    public static string ContactName; 
    public static string ContactCellNumber; 
    public static string ContactOtherNumber; 
    public static string ContactRelationship; 
    public static string ContactEmail; 
    public static string ContactNote; 
    } 
} 

如果您需要任何其他資料或澄清要問我,請你和 對不起,如果我沒有足夠清楚我想要做什麼。

回答

1

嘗試:

string[] contactInfo = File.ReadAllLines(currentselection); 

Contactinformation.ContactName = contactInfo[0]; 
Contactinformation.ContactCell = contactInfo[1]; 
. 
. 
. 
. 
. 

確保您訪問的元素

+0

感謝了一堆之前檢查數組的長度!工作真棒! – Shaquanda

相關問題