У меня есть 2 строковых массива/значения x, y и пытаюсь получить значения y, которые не входят в x. Я пытаюсь получить это значение только в том случае, если все значения x также находятся в y.Linq сравнить 2 строковых массива, когда обе имеют одинаковые значения
string x = "CA ,WA";
string y = "CA,WA,NY";
var srcDetails = x.ToLower().Replace(" ", string.Empty).Split(',');
var dstDetails = y.ToLower().Replace(" ", string.Empty).Split(',');
var common = dstDetails.Intersect(srcDetails); //common in x,y
var destGreaterSrc= dstDetails.Except(srcDetails); //if y > x
var extraInDest = dstDetails.Except(common);
extraInDest это дополнительное значение у, которое не находится в х
В приведенном выше коде дополнительных значений в Dest, который выводится в Нью-Йорке.
Я пытаюсь найти сценарий, где значения й не могут быть равны у, как
string x = "CA ,NV";
string y = "CA,WA,NY";
как мы можем сделать вывод уага extraInDest лжи.
как вар extraInDest = dstDetails.Except (общий), в результате ложной или нулевым
Будет ли ваша строка всегда в CSV? –
Всегда разделенная запятая. – Kurkula
строка x = "CA, WA"; строка y = "CA, WA, NY"; var srcDetails = x.Split (','); var dstDetails = y.Split (','); var extraInSrc = srcDetails.Where (s =>! DstDetails.Select (d => d.Trim(). ToLower()). Содержит (s.Trim(). ToLower())). ToList(); if (extraInSrc.Count() <= 0) // Если все значения X присутствуют в Y { var extraInDst = dstDetails.Where (s =>! SrcDetails.Select (d => d.Trim(). ToLower()) Содержит (s.Trim() ToLower())) ToList()...; } –