试图理解为什么此代码无法正常工作。 包含似乎无法使用列表
var a = new List<string>() { "QHIDETH_1" };
var b = new List<string>() { "QHIDETH" };
var res = b.Where(x => a.Contains(x));
var res2 = a.Where(x => b.Contains(x));
Console.WriteLine(res.Count() + " " +res2.Count()+ " " + "QHIDETH_1".Contains("QHIDETH") );
输出为“ 0 0 True”
答案 0 :(得分:2)
那是正确的。列表a不包含值为“ QHIDETH”的元素。 列表a确实包含一个元素,该元素是一个包含“ QHIDETH”(是子字符串)的字符串。
您在容器中缺少一个级别。
将其更改为以下代码即可使用:
var res = b.Where(x => a.Any(elementOfA => elementOfA.Contains(x)));
希望有帮助!
答案 1 :(得分:0)
执行kubectl config view -o=jsonpath="{.contexts[*].name}" | tr " " "\n"
时,您正在列表a.Contains(x)
中搜索包含字符串a
的字符串,并且它们必须完全匹配。对于部分比赛,我认为您正在寻找
x