次のように定義されたアクション辞書があります。
var actions = new Dictionary<string, Action<string, string>>();
私はそこに次のようなアクションを入れました:
actions.Add("default", (value, key) => result.Compare(value, properties[key], Comparers.SomeComparer, key));
...
このコードを使用して実行しています:
if (actions.ContainsKey(pair.Key))
{
actions[pair.Key](pair.Value, pair.Key);
}
else
{
actions[""](pair.Value, pair.Key);
}
問題なく動作しますが、「?」を使用したかったのです。短くするための表記:
actions.ContainsKey(pair.Key) ? actions[pair.Key](pair.Value, pair.Key) : actions[""](pair.Value, pair.Key);
このコードは私にエラーを示しています:
エラー 1 ステートメントとして使用できるのは代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみです
actions[pair.Key](pair.Value, pair.Key)
電話じゃないの?何か不足していますか?「?」は使用できますか? アクション辞書で表記?私はそれについて何かを見つけようとしていましたが、「?」について何かを見つけるのは難しいです. '?' のため、演算子とこのエラー グーグルには無視されます。