【发布时间】:2017-03-15 07:35:12
【问题描述】:
我还有一个与此相关的问题:Filter an IEnumerable in Linq with an array。但是在这之后我得到了一个新的要求,比如,
有一个数组string[] BranchIds = {"1","2","3"}
var a =_abc.GetRoutes(0)
.Where(r => BranchIds.Contains(r.StringBranchIds))
.ToList();
如果这段代码中的StringBranchIds也是一个逗号分隔的字符串呢?
我尝试过类似的方法:
var a =_abc.GetRoutes(0)
.Where(n => BranchIds.Contains((n.StringBranchIds.Replace(" ", "")
.Split(',')
.Select(m => Convert.ToInt32(m))
.ToArray()).ToString()));
但是不行。
在Contains 里面我只能提供字符串。 Linq 是这样工作的吗?
我是 Linq 的新手,请帮帮忙!
【问题讨论】:
-
什么是
GetRoutes? -
条件是什么?如果他们都在
BranchIds或任何? -
@Ofir IEnumerable
-
BranchId in this code is also a comma separated stringBranchId的外观以及r.BranchId中的值是什么 -
能否请您提供一些示例?让
abc.GetRoutes(0)返回,说"3,1"是正面还是负面的例子(BranchIds = {"1","2","3"})?如果abc.GetRoutes(0)返回"2,4"(部分交集)怎么办?