有一份候选人名单。
candid: {12,14,16,19,25,64,78}
代码 :
for (int i = 0; i < candid.Count; i++)
{
var searchTerm = candid[i].ToString();
var searchItems = searchTerm.ToCharArray().ToString();
foreach (Tran b in transactions)
{
string[] temp = new string[b.itemsUtilities.Count];
int j = 0;
foreach (ItemUtility c in b.itemsUtilities)
{
temp[j] = c.item.ToString();
j = j + 1;
}
if (searchItems.All(a => temp.Contains(a)))
arraye[i] = arraye[i] + (b.transactionUtility);
}
}
我收到以下错误:
“string[]”不包含“Contains”的定义,并且最好的扩展方法重载“Queryable.Contains(IQueryable, char)”需要一个“IQueryable”类型的接收器
如果代码从: var searchItems = searchTerm.ToCharArray().ToString();
至 : var searchItems = searchTerm.split();
此错误已修复,但此split
命令不分隔数字。
我猜您想将数字分成string[]
.
var searchItems = searchTerm.ToCharArray().ToString();
这将始终创建一个字符串,"System.Char[]"
因此不是您想要的。
我猜你想要:
string[] searchItems = searchTerm.Select(c => c.ToString()).ToArray();
这应该修复编译器错误,因为searchItems.All
现在将投影字符串而不是字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句