問題タブ [operators]
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.
java - javaでop-assign演算子がタイプセーフでないのはなぜですか?
質問が明確に表現されているかどうかはわかりませんが、例がより明確になります。
Javaでは機能しないことがわかりました:
しかし、これは:
つまり、= 演算子は型安全であるように見えますが、+= はそうではありません。これには深い理由があるのでしょうか、それとも言語設計者が取らなければならない別の恣意的な決定に過ぎないのでしょうか。
c++ - What's up with static_cast with multiple arguments?
Can anyone tell me what this cast has for effect (besides setting happyNumber to 1337), if any at all, and if it has no other effect, how come I can write code like this??? Is this a compiler bug, or some "hidden away feature" of C++?
I was surprised this would compile at all. I found it through a bug where I accidentally set the second parameter to something that was meant to go in a function call of the expression being cast. This resulted in a nasty bug where the object was cast from the second parameter, calling the function with only one argument. It compiled... And didn't initially boom...
I am using Microsoft Visual C++ 2008.
c# - 文字列または NULL を SQL Server データベースに挿入する際の問題
この投稿でトップの回答を読んだところです:
SQL Server データベースに文字列または NULL を挿入する際の問題
私が間違っている場合は修正してください。ただし、??演算子は同じタイプの2つの変数で使用できるだけではありません.
以下のようなコードをプロジェクトに挿入しようとしました。
しかし、Visual Studio は次のメッセージで不平を言います:
"Operator '??' タイプ 'string' および 'System.DBNull' のオペランドには適用できません"
php - PHPと(アンパサンド、ビット単位および)演算子を理解する
($var & 1)
私はコードでよく使用します。これ$var
は、が奇数の場合はtrueを返し、偶数の場合はfalseを返します。
しかし、「&」は実際に何をするのでしょうか。
c# - operator== をオーバーロードした後、2 つの変数が同じオブジェクトを指しているかどうかを比較する方法は?
比較演算子のオーバーロード、2 つの変数が同じオブジェクト (値ではない) を指している場合の比較方法
c# - C# の大文字と小文字を区別しない等号演算子はありますか?
以下は大文字と小文字が区別されることを知っています。
では、2 つの文字列を無差別に比較する演算子はありますか?
c# - &演算子の意味は何ですか?
次のコードでは:
...の意味は(i & 1) == 1
何ですか?
c# - IEntity とダウンキャストを実装するクラスに operator == 比較を許可する方法はありますか?
基本的にここに問題があります。システム内のすべてのエンティティは、タイプとid
.
かなり標準的なシナリオ。すべてのエンティティには Id があるため、すべてのエンティティのインターフェイスを定義します。
そして、私が作成するエンティティの作成を簡素化するために:
Customer と Product は次のようなものです
ハンキードーリーだと思います。私がしなければならないことは、各エンティティで Equals をオーバーライドすることだけだと思います (私が非常に賢い場合は、 で一度だけオーバーライドすることもできますBaseEntity
)。
だから今、私は自分のテスト範囲を拡大しており、それほど単純ではないことがわかりました! まず、ダウンキャストしてオーバーライドIEntity
を使用==
する場合は使用されません。BaseEntity<>
それで、解決策は何ですか?他にできることはありますか?そうでない場合、これは非常に面倒です。
更新 1私のテストに何か問題があるように思われます - むしろ、ジェネリックの比較に問題があります。これをチェックしてください:
何が起きてる?これは私が恐れていたほど大きな問題ではありませんが、それでも非常に厄介で、言語の動作が完全に直観的ではありません。
更新 2ああ、わかりました。ジェネリックIEntity
は何らかの理由で暗黙的にダウンキャストされます。これは直観的ではなく、ジェネリック メソッドまたはクラス内で発生するすべてのことを比較する必要があることを覚えておく必要があるため、ドメインの消費者にとって問題になる可能性があることを支持します。Equals()
c# - C# の演算子メソッドのメソッド名
C#/CLR が演算子に与える名前の完全なリストを持っている人はいますか? (私の睡眠不足が影響しているのかもしれませんが、Google で見つけられないようです) 例: op_Addition、op_Subtraction。さらに、これらが他の文化で異なる可能性はありますか?
2 つのオブジェクトを加算/減算できるクラスを作成しようとしていますが、すべてのプリミティブを実行しました。あとは「残り」を実行するだけです。
どうもありがとう。