C# 如何在字符串中找到子字符串?

C# 如何在字符串中找到子字符串?,c#,asp.net,.net,C#,Asp.net,.net,我收到EmailIds输入,比如“companyby”_1234@gmail.com","同伴",_1256@gmail.com'并希望找到包含文本“companyby”的电子邮件ID并对其进行筛选,但我不知道它在字符串中的位置 我想检查c代码。使用lambda表达式 var filteredList = IEnumerable<Emails>.Where(email => email.Contains(companyby)) Contains对于大量数据来说太慢,而且它还与

我收到EmailIds输入,比如“companyby”_1234@gmail.com","同伴",_1256@gmail.com'并希望找到包含文本“companyby”的电子邮件ID并对其进行筛选,但我不知道它在字符串中的位置


我想检查c代码。

使用lambda表达式

var filteredList = IEnumerable<Emails>.Where(email => email.Contains(companyby))

Contains对于大量数据来说太慢,而且它还与域和中间出现的匹配

所以使用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
    }
}
林克:

var filteredList = IEnumerable<Emails>.Where(email =>  email != null ? email.StartsWith("companyby", StringComparison.OrdinalIgnoreCase) : false)

因为在中有扩展方法。

string.Contains、string.IndexOfDid您是否尝试搜索?请做一些必要的事情:在发布之前做一些努力严格地说,您正在使用.Contains方法,尽管是在一个lambda表达式中,在一个Linq方法链中=看看这个问题,我认为给出一个详细的答案可能会让他进一步陷入困境我希望我能写一篇这么短的评论。公平地说,OP说我不知道它在字符串中的位置。你是对的,希望我能只写一点:@J.Steen:你说得对,我读得太多了。请注意,我错过了我的案例中的@after companyby。。。
using System.Data;
using System.Linq;