【问题标题】:Editing some text in a text file in WPF在 WPF 中编辑文本文件中的一些文本
【发布时间】:2018-10-27 00:52:31
【问题描述】:

我不熟悉使用表单和 C# 并尝试完成创建电话簿的任务。我的电话簿中有不同的选项

  • 添加联系人
  • 显示所有联系人
  • 和编辑某个联系人。

当文本存储在文本文件中时,我无法进行编辑。我有以下代码用于添加姓名、电话号码和电子邮件。我如何能够从保存在文本文件中的联系人列表中编辑其中一个姓名?

添加代码:

private void addButton_Click(object sender, RoutedEventArgs e)
{
    TextWriter writer = new StreamWriter("D:\\class1.txt", append: true);
    try
    {
            string Name01 = firstName.Text;
            string Name02 = lastName.Text;
            string Phone1 = mobile.Text; 
            string Phone2 = homePhone.Text;
            string emailadd = email.Text;
            string Informtion = Name01 + "\n" + Name02 + "\n" + Phone1 + "\n" + Phone2 + "\n" + emailadd;
            writer.WriteLine("---------------");
            writer.WriteLine(Informtion);
            MessageBox.Show("Success!! Contact information added for: " +Name01 + " " +Name02);
        }
        catch (Exception ex)
        {
            throw ex;
        }  
        finally
        {
            writer.Close();
            writer.Dispose();
        }
    }

【问题讨论】:

  • 我在这个问题中看不到任何 WPF 特定/相关的内容。请考虑删除该标签。

标签: c#


【解决方案1】:

您的文本文件似乎没有结构化。非结构化文本很难以编程方式搜索和编辑。

尝试改用 XML 或 JSON 格式的文本,这将使您更轻松地处理条目,特别是如果您使用专门为处理这两种格式的条目而开发的众多开源库之一...

我们以这个 XML 为例:

<?xml version="1.0" encoding="UTF-8"?>
<SnomIPPhoneDirectory>
  <Title>PhoneList - Snom</Title>
  <DirectoryEntry>
    <Name>Friend, First</Name>
    <Telephone>555-456-7890</Telephone>
  </DirectoryEntry>
  <DirectoryEntry>
    <Name>Person, Second</Name>
    <Telephone>555-654-0987</Telephone>
  </DirectoryEntry>
  <SoftKeyItem>
    <Name>F1</Name>
    <Label>Dial</Label>
    <SoftKey>F_ENTER</SoftKey>
  </SoftKeyItem>
</SnomIPPhoneDirectory>

使用 .NET 框架中内置的库或什至 XML 功能,以无需进行任何字符串解析的面向对象方式处理电话簿条目将是微不足道的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多