0

.txt ファイルの特定の行に等しい文字列変数を設定する方法を見つけようとして、小さな問題が発生しています。私がやろうとしているのは、定義を保存した.txtファイルのさまざまな行に設定さContactInformatiom.ContactNameれたすべてのものですが、それを行う方法がわかりません。ContactInformation私はあらゆる種類のことを試しましたが、どれもうまくいかないようです. ' 言葉遣いまたは何か。

私は次のコードを使用しています:

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;
    }
}

他の情報や私が求めていることの明確化が必要な場合は、私がやろうとしていることについて十分に明確でない場合は、事前に尋ねてください.

4

1 に答える 1

1

試す:

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

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

要素にアクセスする前に、配列の長さを確認してください

于 2013-10-17T01:15:47.063 に答える