2016-05-11 57 views

回答

0

你可以做,沒有正則表達式,如:

HashSet<string> invalidAddresses = new HashSet<string>() { "@gmail", "@hotmail", "@yahoo" }; 
string emailToCheck = "[email protected]"; 
if (invalidAddresses.Any(i => emailToCheck.IndexOf(i, StringComparison.CurrentCultureIgnoreCase) > -1)) 
{ 
    //Invalid address 
} 
else 
{ 
    //valid Address 
} 

,如果你想篩選出一個List<string>包含電子郵件地址,然後你可以這樣做:

List<string> emails = new List<string>() {"[email protected]", "[email protected]", "[email protected]", "[email protected]"}; 
var validEmails = emails.Where(email => !invalidAddresses 
              .Any(i => 
              email.IndexOf(i, StringComparison.CurrentCultureIgnoreCase) > -1)) 
         .ToList(); 

(請記住,內部LINQ會迭代/循環以及)

+0

'名單'對象,我想從中刪除。不通過它循環。一次刪除所有內容。 – James123

+0

@ James123,我也修改了處理列表的代碼。 – Habib

1

如果你想使用正則表達式,你可以使用類似的東西:

[a-zA-Z0-9]{0,}([.]?[a-zA-Z0-9]{1,})[@](gmail.com|hotmail.com|yahoo.com) 
相關問題