C#数组包含部分

C#数组包含部分,c#,C#,如何查找字符串数组是否包含字符串的某些部分? 我有这样的数组 String[] stringArray = new [] { "abc@gmail.com", "cde@yahoo.com", "@gmail.com" }; string str = "coure06@gmail.com" if (stringArray.Any(x => x.Contains(str))) { //this if condition is never true } 当str包含完全或部分数组项

如何查找字符串数组是否包含字符串的某些部分? 我有这样的数组

String[] stringArray = new [] { "abc@gmail.com", "cde@yahoo.com", "@gmail.com" };
string str = "coure06@gmail.com"

if (stringArray.Any(x => x.Contains(str)))
{
    //this if condition is never true
}

当str包含完全或部分数组项的字符串时,我想运行此if块。

假设您有LINQ可用:

bool partialMatch = stringArray.Any(x => str.Contains(x)); 
即使没有LINQ,也很容易:

bool partialMatch = Array.Exists(stringArray, x => str.Contains(x));
或者使用C#2:


如果您使用的是C#1,那么您可能必须以艰难的方式来完成:)

如果您正在查找数组中某个特定字符串是否只包含“@gmail.com”而不是”abc@gmail.com“你有两个选择

在输入端,这里有各种各样的问题,这将为您指明验证输入是否为有效电子邮件地址所需的方向

如果您只能在后端进行检查,我会执行以下操作:

emailStr = "@gmail.com";
if(str.Contains(emailStr) && str.length == emailStr.length)
{
  //your processing here
}
您也可以使用正则表达式匹配,但我对它还不够熟悉,无法告诉您需要什么模式


如果您正在寻找任何包含“@gmail.com”的内容,Jon的答案就是您的最佳选择。

Jon的代码在这里运行良好。你的例子遗漏了一些东西。
emailStr = "@gmail.com";
if(str.Contains(emailStr) && str.length == emailStr.length)
{
  //your processing here
}