問題タブ [null-coalescing-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ?? での奇妙な演算子の優先順位 (null 合体演算子)
int?
最近、文字列を で連結し、その後に別の文字列を追加するという奇妙なバグがありました。
私のコードは基本的にこれと同等でした:
驚くべきことに、これは次のように、警告や互換性のない型エラーなしで実行およびコンパイルされます。
そして、これにより、予期しない型の非互換性エラーが発生します。
この簡単な例と同様に:
誰かがこれが私にどのように機能するかを説明できますか?
c# - C#?? null 合体演算子の質問
Class PersonプロパティのBirthdayをnull 許容 DateTime として定義しましたか? では、次の例で null 合体演算子が機能しないのはなぜですか?
私が得たコンパイラ エラーは「演算子 '??' でした。タイプ「System.DateTime?」のオペランドには適用できません。および「System.DBNull」」
以下もコンパイルエラーになりました:
リファクタリングで推奨されているように (オブジェクト) にキャストを追加し、コンパイルしましたが、正しく動作せず、値は両方の場合で sqlserver db に null として格納されました。
誰かがここで何が起こっているのか説明できますか?
次の不器用なコードを使用する必要がありました。
c# - null許容intを追加するよりエレガントな方法はありますか?
nullable int 型の変数を多数追加する必要があります。null 合体演算子を使用して 1 行あたり 1 つの変数に減らしましたが、これを行うためのより簡潔な方法があると感じています。コード。
c# - foreach ステートメントでの null 合体の使用
null 合体演算子を foreach ループで動作させる方法を見つけようとしています。
文字列の末尾を確認し、それに基づいて特定のメソッドにルーティングします。主に言いたいことは……。
これを行おうとすると、もちろん「演算子 ?? は bool 型および string 型では使用できません」というメッセージが表示されます。他の方法があることは知っていますが、ヌル合体でどのように行うことができるかを知りたいだけです。
良い週末を。
@Richard Ev: もちろんです。Switch、if elseなど。それがどのように処理されるのか興味がありました
@Jon Skeet: あなたのコメントを読んだ後、それは私を襲った、これはただ悪いです! 基本的に 2 つのファイル拡張子に興味があります。たとえば、ファイルが「abc」で終わる場合は方法 1 に送信し、ファイルが「xyz」で終わる場合は方法 2 に送信します。終わり。
Brian と GenericTypeTea の思慮深い意見にも感謝します
私はそれを閉鎖したと言って満足しています。
c# - これは何をしますか?? ここでの表記の意味
重複の可能性:
「??」とは の演算子?
ここでの??
表記はどういう意味ですか?
私が言っていることは正しいですか: を使用id
しますが、null の場合id
は文字列 "ALFKI" を使用しますか?
c# - C#の合体演算子?
C# の?: 三項演算子に似たものを見たのを覚えていると思います。これは 2 つの部分しかなく、null でない場合は変数値を返し、null の場合はデフォルト値を返します。このようなもの:
基本的にこれと同等:
そのようなものは存在しますか、それともどこかでこれを見ていると想像していましたか?
c# - null合体操作のすべてのパラメータがnullの場合、結果はどうなりますか?
このコードが終了したときの結果はmyObject
?
c# - この匿名クラス プロパティを設定するよりクリーンな方法はありますか?
私は匿名クラスを返しています:
問題は Address が nullable であることです。つまり、それが null の場合、100 万個に爆発します。
私が考えることができる最もエレガントな解決策はこれでした...
より良い方法はありますか?、null 合体演算子を使用する機能を失い、null かどうかを確認する必要があるのは好きではありません。
c# - RubyはC#と同等ですか?? オペレーター
重複の可能性:
C#?? Rubyの演算子?
C#と同じことをするRuby演算子はありますか?オペレーター?
?? _ 演算子は、nullでない場合は左側のオペランドを返し、そうでない場合は右側のオペランドを返します。
c# - null合体演算子は空の文字列と一致しますか?
非常に単純な C# の質問があります。空の文字列を処理する場合、次のステートメントは同じではありませんか?
また
私が思うにstring.Empty!=null
、合体演算子は、私が本当に欲しいのは2番目のステートメントであるときに、最初のステートメントの結果を空の値に設定する可能性があるからです。文字列はどこか特殊なので (== と != は値比較のためにオーバーロードされます)、C# の専門家に確認してもらいたいと思いました。
ありがとうございました。