我可以获得string.Contains返回false吗?

时间:2013-05-30 14:22:02

标签: c# .net-3.5 linq-to-entities

我有以下代码:

string s = "123,12346";

bool b = s.Contains("1234");

以上都返回true,但有没有办法返回false。我已经做过类似的事情:

string[] s = {"123","12346"};

bool b = s.Contians("1234");

以上内容有效,但我无法在LINQ-To-Entities的包含表达式中使用上述内容,因为它不喜欢pre EF 4.0中的包含。

我有一个扩展方法,其行为类似于SQL IN子句,但我需要在使用它时显式键入参数,我不知道在括号之间放置什么:

predicate = predicate(x=> WhereIn<>(x.Id, Ids));

x.Id is a string and Ids is a string也是。如果我提出WhereIn<string,string>,则会抱怨Argument type string is not assignable to parameter type ObjectQuery<string>

predicate来自PredicateBuilderhttp://www.albahari.com/nutshell/predicatebuilder.aspx

1 个答案:

答案 0 :(得分:-2)

使用

string searchString = "123,12346";
bool b = sep(searchString,",").Contains("1234");

//Returns this string before ","
public static string sep(string s,string delimiter)
{
   int indx = s.IndexOf(delimiter);
   if (indx >0)
   {
      return s.Substring(0, indx);
   }
   return "";
}