2つの文字列配列/値x、yを持ち、xにないyの値を取得しようとしています。私は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はNYとして出力するDESTに上記のコード余分な値のX
にないyの余分な値です。
私は、xの値がどのように我々はfalseにするvar extraInDest出力を行うことができます
string x = "CA ,NV";
string y = "CA,WA,NY";
のようにyに等しいではないかもしれないシナリオを見つけようとしています。虚偽または
あなたの文字列は常に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()))が含まれます。if(extraInSrc.Count()<= 0)//すべてのX値がYにある場合 { var extraInDst = dstDetails.Where(s =>!srcDetails.Select(d => d.Trim()。ToLower ())。ToLow()))。ToList();)が含まれています。 } –