我有一个列表 - finalbetfile2
班级是,
class finalbetfile
{
public int[] BetInfo{ get; set; }
public string TransID { get; set; }
public string BetAmount { get; set; }
public string TransDateTime { get; set; }
}
BetInfo
列有六个整数值,
我想将Betinfo
与我的rank3of1
(结果)匹配任何订单,代码如下:
var rank3of1 = new int[] { intball1, intball2, intball3, intball4, intball5, intball6 };
var filteredProjects8 = finalbetfile2.Where(p => rank3of1.All(tag => p.BetInfo.Contains(tag)));
它工作正常但匹配所有6个数字而不是至少5个。
答案 0 :(得分:3)
您可以使用Count
代替All
并检查此计数是否大于或等于5
finalbetfile2.Where(p => rank3of1.Count(tag => p.BetInfo.Contains(tag)) >= 5);
答案 1 :(得分:2)
使用Intersect
:
var movies = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
wildcard: '%QUERY',
url: '/movies/autocomplete?query=%QUERY',
transform: function(response) {
return response;
}
}
});
$('.typeahead').typeahead(null, {
name: 'movie',
source: movies
});