以下のクエリの実行中にNULLと空の文字列の一致を無視する方法はありますか?例えばLinqクエリでNULLと空の文字列が一致しないようにします。
var tMisMatchList = lstExchgMatch.Any(o =>
o.MulDivFlg != lstExchgMatch[0].MulDivFlg);
、リストはこの場合、
[0] = MulDivFlg = ""; // 1st element in the list whose multdivflag value is ""
[1] = MulDivFlg = null; // 2nd element in the list whose multdivflag value is null
[2] = MulDivFlg = null;
[3] = MulDivFlg = "";
データの下に、私の上記のクエリは、trueを返しされています。 ""とNULLの不一致が発生したためです。しかし、私の期待はnullと比較チェックを無視することです。 "ヌル可能でなく、空でない文字列一致のみを実行します。それはヌルと ""の存在を無視して、両方を等価として扱うべきです。
上記のクエリは、nullが ""と等しくないと考えているのでfalseを返しています。 しかし、文字列がヌルか ""であれば、それは真であり、nullと等しいとみなしたり、無視したりしたいと思います。あなたのAny
ラムダ式で&& (string.IsNullOrEmpty(o.MulDivFlg) != string.IsNullOrEmpty(lstExchgMatch[0].MulDivFlg))
条件を追加することができ
今、結果が何であるかを追加してください、あなたは、[この](http://stackoverflow.com/questions参照 –
受け取るために何を期待結果/ 9606979/string-isnullorwhitespace-in-linq-expression)。 –
私の質問を予想される出力@ S.Petrosovで更新しました –