問題タブ [casting]
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# - C#では、以前にアップキャストされたオブジェクトのタイプを知らずにダウンキャストするにはどうすればよいですか?
インターフェイスメソッドがあります
既知のサブタイプを適切なメソッド実装に渡しICommand
、Handle(SpecificCommand command)
未知のタイプの一般的な処理を行う必要があります。そうするための普遍的な(つまり、巨大なスイッチを必要としない)方法を探しています。
ハンドラーを何らかの方法で登録できることはわかっています。たとえば、ハンドラーをデリゲートとしてディクショナリに格納できますが、これにはまだ処理ロジックを複製する必要があります (特定のHandle(...)
メソッド シグネチャで 1 回、デリゲート要求で 1 回)。クラスをリフレクションで調べて (Handle(XXX command)
メソッドを探して) ディクショナリを作成すると、パフォーマンスが低下します。
Execute(ICommand command)
要約すると、コンパイル時にどのタイプであるかを知らなくても、具体的なタイプを必要とするメソッドを呼び出すために、オブジェクトをダウンキャスト (への呼び出しによってアップキャスト) するにはどうすればよいでしょうか。
c++ - C/C++ コンパイラは、値の範囲が異なる型間の型キャストをどのように処理しますか?
コンパイラ内でデータを失うことなく型キャストを行うにはどうすればよいですか?
例えば:
コンパイラはこのタイプの型キャストをどのように処理しますか? ビットを示す低レベルの例は高く評価されます。
c# - what's the runtime equivalent of c# 'bracketed' type cast
suppose I have an enum
then I can write
and it will work.
BUT if I try to do that at runtime, like
it will throw InvalidCastException.
So, is there something that I can invoke at runtime, and it will convert from int32 to enum, in the same way as if I wrote a cast as above?
c++ - C++ での型パニングに関する意見はありますか?
C++ での型パニング ポインター/配列の規則に興味があります。現時点で私が持っているユースケースは次のとおりです。
データのバイナリ BLOB を 32 ビット整数の配列として扱い (全体の長さが 4 の倍数であることはわかっています)、すべての値を合計してオーバーフローを無視することにより、単純な 32 ビット チェックサムを計算します。
このような関数は次のようになると思います。
data
今私が持っている質問は、変換するための「最良の」方法は何だと思いますudata
か?
Cスタイルキャスト?
すべてのポインターが変換可能であると仮定する C++ キャスト?
C++ は、中間を使用して任意のポインター型間でそれをキャストしvoid*
ますか?
組合を通してキャストしますか?
これが 100% 移植可能なソリューションではないことは十分承知していますが、機能することがわかっている少数のプラットフォームでのみ使用することを期待しています (つまり、アラインされていないメモリ アクセスとポインター エイリアシングに関するコンパイラの仮定)。あなたは何をお勧めします?
c++ - QVariant をカスタム クラスにキャストするには?
QTreeWidgetItem 内に QVariant オブジェクトがあります。それを自分のオブジェクトにキャストするにはどうすればよいですか?
python - 文字列が数値 (float) かどうかを確認するにはどうすればよいですか?
文字列がPythonで数値として表現できるかどうかを確認する最良の方法は何ですか?
私が現在持っている機能は次のとおりです。
これは、醜くて遅いだけでなく、扱いにくいようにも見えます。float()
ただし、メイン関数の呼び出しはさらに悪いため、より良い方法は見つかりませんでした。
c# - ジェネリックとキャストの一覧表示
Media と Container の 2 つのクラスがあります。
私は2つのリストを持っていてList<Media>
、List<Container>
これらのリストを別の関数に (一度に 1 つずつ) 渡しています。
それはどちらでもかまいません。
リストの「テンプレート」タイプをチェックして、リストのタイプに応じて関連付けられたメソッドを呼び出すことができる適切な方法は何ですか?
または、 List<> にキャストして、その周りに Try/Catch ブロックを配置する必要がありますか?
c++ - const_castは安全ですか?
に関する情報があまり見つかりませんconst_cast
。私が(Stack Overflowで)見つけた唯一の情報は次のとおりです。
は
const_cast<>()
、変数のconst(ness)(またはvolatile-ness)を追加/削除するために使用されます。
これは私を緊張させます。const_cast
予期しない動作を引き起こす可能性がありますか?もしそうなら、何ですか?
または、いつ使用しても大丈夫const_cast
ですか?
c# - オブジェクトとして null をキャストしますか?
今日、このコードに出会いました
それは何か問題がありますか?
java - JavaでのArrayList間のキャスト
申し訳ありませんが、これは継承の質問だと思いました。ずっとArrayListの質問でした。
わかりました、私の問題は私が思っていたよりも具体的です。だから私は2つのクラスの家族を持っています。カード、およびゾーン。ゾーンはカードを保持するためのボックスです。
Zoneの最初の2つのサブクラス、ZoneListとZoneMapは、カードを保存する2つの異なる方法を意味します。HandやPokerHandなどのサブクラスには、保存するカードを処理する独自の方法があります。
複雑になるのは、CardにもPokerCardなどのサブクラスがあり、ZoneListとZoneMapのサブクラスはそれらを整理するためのものであるということです。
したがって、ZoneListには、PokerCardがカードであるため、PokerHandでprotected ArrayList<Card> cardBox;
宣言できると期待していましcardBox = new ArrayList<PokerCard>();
た。私が得ているエラーは、ArrayListsに関してはCardとGangCardの間でキャストできないようだということです...そこで、PokerHandprivate ArrayList<PokerCard> cardBox;
内でcardBoxを再宣言するだけでこれを修正しようとしましたが、その結果、隠れていてバグが発生していました私のプログラム。
本当に、問題はArrayLists間のキャストについてですか?Javaは私にできないと言っているので、私ができる方法について何かアイデアはありますか?
z。