设置一个等于.txt文件行的字符串

时间:2013-10-17 01:11:40

标签: c# file-io

我有一个小问题试图找出如何设置一个字符串变量等于.txt文件的某些行。我要做的是设置ContactInformatiom.ContactName和所有ContactInformation的东西等于我保存定义的.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 个答案:

答案 0 :(得分:1)

尝试:

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

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

确保在访问元素之前检查数组长度