【问题标题】:DataGridView in Windows form using C#使用 C# 在 Windows 窗体中的 DataGridView
【发布时间】:2025-12-18 14:45:01
【问题描述】:

这里我需要创建一个 gridview 并从文本文件中添加值。文本文件包含电子邮件 ID 列表。在逐行显示这些电子邮件 ID 后,我需要一个接一个地获取它们并用“@”字符分割它。在接下来的列中,我需要显示这些拆分值。如下所示

Email             username   domain

abcd@gmail.com     abcd      gmail
catdog@gmail.com   catdog    gmail

【问题讨论】:

  • 你可以雇人,我们不会为你写代码。
  • 你尝试过什么,还是只是一个做我的家庭作业问题?
  • 下次提问时请提供已有的code。

标签: c# winforms gridview


【解决方案1】:

创建类Email

public class Email
{
    public Email(string email)
    {
        Address = email;
        int index = email.IndexOf('@');
        UserName = email.Substring(0, index);
        Domain = email.Substring(index + 1);
    }

    public string Address { get; private set; }    
    public string UserName { get; private set; }    
    public string Domain { get; private set; }
}

并将您的网格数据绑定到此类的实例:

var emails = from line in File.ReadLines(fileName)
             select new Email(line);

grid.DataSource = emails.ToList();

如果您需要将第一列命名为 Email,则手动添加列并为每列提供电子邮件类属性的名称为 DataPropertyName

更新:System.Net.Mail 命名空间中已经存在类 MailAddress,您可以将其用于相同目的:

var emails = from line in File.ReadLines(fileName)
             select new MailAddress(line);

它具有满足您需求的属性AddressUserHost

【讨论】:

  • 非常感谢@lazybereZovsky...抱歉我忘记发布我的代码