次のコードがあり、正常に動作します。
var firstChild = token.First as JProperty;
bool isHref = token.Children().Count() == 1
&& firstChild?.Name == "href";
文字列比較で大文字と小文字を区別しないようにしたかったので、次のように変更しました。
var firstChild = token.First as JProperty;
bool isHref = token.Children().Count() == 1
&& firstChild?.Name.Equals("href", StringComparison.OrdinalIgnoreCase);
今、コンパイラは私にエラーを与えています:
演算子 && は、タイプ 'bool' および 'bool?' のオペランドには適用できません。
false のように合体することでエラーを修正できます
bool isHref = token.Children().Count() == 1
&& (firstChild?.Name.Equals("href", StringComparison.OrdinalIgnoreCase) ?? false);
しかし、コンパイラが最初の null 条件構文を好まない理由が気になります。