我收到像'companyby_1234@gmail.com','companyby_1256@gmail.com'这样的EmailIds输入,想找到有'companyby'文字的电子邮件ID并过滤它们,但我不知道它在哪里在字符串中。
我想这样做检查c#代码。
答案 0 :(得分:1)
使用lambda表达式
var filteredList = IEnumerable<Emails>.Where(email => email.Contains(companyby))
答案 1 :(得分:0)
包含对于大量数据而言太慢,而且它也匹配域和中间出现。
所以使用StartsWith
System.Data.DataTable dt = //Whatever
foreach(System.Data.DataRow dr in dt.Rows)
{
//string email = dr("email");
string email = "companyby_1234@gmail.com";
if (email != null && email.StartsWith("companyby", StringComparison.OrdinalIgnoreCase)) {
// do whatever here
}
}
Linq:
var filteredList = IEnumerable<Emails>.Where(email => email != null ? email.StartsWith("companyby", StringComparison.OrdinalIgnoreCase) : false)
对于Linq,您需要拥有.NET Framework&gt; 3.0,你需要添加
using System.Data;
using System.Linq;
因为有扩展方法。