从文本文件中读取有效的电子邮件地

3 .net c#

我有一个纯文本文件.要求是从文本文件中读取有效的电子邮件地址.

文本文件不包含任何特殊字符,每行包含一个单词.

样品

test1
test@yahoo.com
test2
test@gmail.com
Run Code Online (Sandbox Code Playgroud)

我试过读取文本文件如下,

var emails = File.ReadAllLines(@"foo.txt");
Run Code Online (Sandbox Code Playgroud)

但无法找到如何从文本文件中提取有效的电子邮件.

我正在使用C#4.0

Son*_*nül 6

如果只有你的电子邮件行有@字符,你可以使用

var emails = File.ReadAllLines(@"foo.txt").Where(line => line.Contains("@"));
Run Code Online (Sandbox Code Playgroud)

好的,我承认了.这是我见过的最糟糕的电子邮件验证:)让我们走得更远.您可以使用MailAddress课程检查您的线路.让我们定义一种检查电子邮件地址是否有效的方法;

public bool IsValidMailAddress(string s)
{
    try
    {
        MailAddress m = new MailAddress(s);
        return true;
    }
    catch (FormatException)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我们可以使用;

var emails = File.ReadAllLines(@"foo.txt").Where(line => IsValidMailAddress(line));
Run Code Online (Sandbox Code Playgroud)