将List <string>与SQL列值进行比较,以确定列</string>中是否显示列表项

时间:2012-12-06 03:18:05

标签: c# linq-to-sql

  

可能重复:
  check whether a List<string> contains an element in another List<string> using LINQ

SQL数据库列存储了一串字符串,如下所示:/ String1 / String2 / String3 / ...第一个和最后一个字符是&#39; /&#39;。我需要将此列与List<string>进行比较,以确定列中的参数字符串是否包含在列值中。

列值:&#34; /一/二/三/四/&#34;

参数:List<string> parameters = new List<string>{"Two", "Three"};

将参数列表与列值进行比较。由于列值中至少有一个项目,因此返回true /选择行。

我正在使用LINQ-to-SQL。

1 个答案:

答案 0 :(得分:3)

使用String.Split MethodEnumerable.Intersect MethodEnumerable.Any Method

//I guess you can get the string representation of the column value
string value = "/One/Two/Three/Four/"; 
List<string> parameters = new List<string> { "Two", "Three" };

bool result = value.Split('/')
                   .Intersect(parameters)
                   .Any();