問題タブ [union]

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.

0 投票する
6 に答える
3079 参照

c# - ユニオンで PInvoke 構造体を呼び出すときに StructLayout( LayoutKind.Explicit ) を使用すると、何が間違っていますか?

以下は完全なプログラムです。上部の「#define BROKEN」のコメントを外さない限り、問題なく動作します。この中断は、PInvoke がユニオンを正しくマーシャリングできなかったことが原因です。問題のINPUT_RECORD構造には、EventType の値に応じて使用されるサブ構造がいくつかあります。

私が理解していないのは、その単一の子構造のみを定義するKEY_EVENT_RECORDと、オフセット 4 で明示的な宣言が機能するということです。しかし、同じオフセットで他の構造を追加すると、構造のコンテンツが完全にホースされます。

アップデート:

構造体の宣言自体が気になる方へ:

  1. bool は 32 ビット値として扱われます
  2. データのオフセット (4) の理由は、ユニオンがオフセット 2 で始まるのを防ぐ 32 ビット構造のアラインメントを可能にするためです。

繰り返しますが、私の問題は PInvoke をまったく機能させていません。これらの追加の構造 (おそらく同じオフセットにある) がデータを単純に追加することで、データを混乱させている理由を理解しようとしています。

0 投票する
3 に答える
1096 参照

c# - PInvokeを使用する場合、boolとuintを含む構造の違いは何ですか?

わかりました、私は今非常に混乱しています。 私の最後の質問の後、 bool を uint に変更することについて数人がコメントした後、次の方法でそれらが同じサイズであることを確認しました。

もちろん、どれが印刷されますか:

そうは言っても、私はそれから故障し、とにかく彼らの提案を試してみました...構造内の単一のboolをuintに変更します。私の人生で理解できないのは、なぜこれが機能したのかということです...

したがって、これは機能します:

この構造で使用する場合:

しかし、この構造では壊れています。

しかし、構造体で bool bKeyDown を uint に変更すると、KEY_EVENT_RECORD再び機能し始めます...

誰かがこの動作を説明できますか?

将来、この文書化されていない機能 (別名バグ) を回避できるように、その理由を知りたいです。

0 投票する
4 に答える
155873 参照

sql - T-SQL でユニオンと共に group by を使用する方法

T-SQL のユニオンで group by を使用するにはどうすればよいですか? ユニオンの結果の最初の列でグループ化したいので、以下のSQLを書いたのですがうまくいきません。ユニオン結果の指定された列 (この場合は 1) を参照する方法がわかりません。

0 投票する
2 に答える
1641 参照

mysql - MySQL: UNION サブセレクトでのインデックスの使用

MySQL 5.0.75-0ubuntu10.2私はそのような固定テーブルレイアウトを持っています:

parentid を持つテーブル idを持つテーブルparentId を持つparent2テーブルchildren1

Parent子には、いずれかのテーブルまたはに親がいParent2ます。子供を取得する必要があるときは、次のようなクエリを使用します。

このクエリを説明すると、次のことがわかります。

これは、レイアウトを考えると合理的です。

ここで問題: 前のクエリは、親要素から列を返さないため、あまり役に立ちません。現時点では、内部クエリに列を追加すると、インデックスは使用されなくなります。

(PRIMARY) インデックスが使用されなくなった理由を説明できる人はいますか? 可能であれば、DB レイアウトを変更せずにこの問題を回避する方法はありますか?

ありがとう!

0 投票する
2 に答える
1749 参照

postgresql - OR 条件を含む高度なインデックス作成 (pgsql)

私は PostgreSQL のインデックス作成をよりよく理解し始めていますが、クエリを高速化するためにインデックスを最適化する方法がわからない OR 条件で問題に遭遇しました。

個別に実行すると、コストが低いように見える 6 つの条件があります。クエリ プランの計算時間を含む、トリミングされたクエリの例を次に示します。

(注: 複雑さを軽減するために、これらのクエリの実際のクエリ プランを以下に出力していませんが、適切なインデックス作成で期待されるように、すべてがnested loop left joinsandを使用します。必要に応じて、より意味のある応答のためにクエリ プランを含めることができます。 index scans. )

私の問題は、これらの 6 つの条件を OR 演算子で結合して、各条件を可能にしたいということです。結合されたクエリは次のようになります。

残念ながら、これによりクエリ プランが大幅に増加し、インデックスを使用していないように見えます (代わりに、 ahash left joinではなく aを実行することを選択し、以前に使用された に対してnested loop left joinさまざまな実行を行います)。sequence scansindex scans

最終的なクエリを改善する OR 条件に関してインデックス作成について知っておくべき特別なことはありますか?

UPDATE :個々の SELECT ごとに UNION を使用すると、クエリが高速化されるようです。ただし、将来的に選択した場合、結果を注文できなくなりますか? UNION を介してクエリを高速化するために行ったことは次のとおりです。

0 投票する
1 に答える
768 参照

sql - SQL 結合の最適化 (UNION を取り除く)

最初の免責事項:

  1. 私はプログラマーではありません。
  2. 「より高度な」数学を教えられたことがない
  3. 上のステートメントにもかかわらず、SQLを使用する必要がある場合があります。

今、私は同僚のaviewから aを作成する必要があります (4 つの s を使用していた人は、where 部分での使用方法がわからないように見えました...)、そして今ここにいます。selectunionor

UNION同じ結果セットを取得しながら最後を取り除く簡単な読みやすい方法はありますか?

前もって感謝します!

0 投票する
1 に答える
1918 参照

c# - ユニオンを使用した XSD からの .Net クラスの生成

私は、スクリーニングに関連するスタンドアロン パッケージの HR-Xml 3 仕様を表すクラスの作成に取り組んできました。いくつかの問題がありましたが、現在、主な問題は、xsd:union ステートメントに対する xsd.exe 内のサポートの欠如であると考えています。

Xsd.exe は、union によって定義された単純型を検出すると、その定義を無視し、代わりに組み込みの文字列データ型を使用します。
から - http://msdn.microsoft.com/en-us/library/bc57azyw%28VS.85%29.aspx

さまざまなフォーラムやニュースグループで見た唯一の解決策は、ユニオンを使用しないように XSD を再構築することですか? ただし、必要なエンティティの小さなサブセットを使用しても、共用体ステートメントの数は 100 に近づきます。おそらくこれが唯一の解決策でしょうか?

私はこれに何日も立ち往生しており、「いいえ、それは機能しません」以外に本当に役立つものを見つけることができませんでした. 最終的には、何とか機能させる必要があります。ツール、再設計、コンバーター、これらのクラスを取得できるものについての提案! Javaクラスを生成してからC#に変換することさえ考え始めました...私は途方に暮れています

前もって感謝します!私は確かにこれに対するいくつかの解決策があることを願っています!


最終的に、最初のフェーズでは HR-Xml を実装しないという決定を下しました。それでも、誰かがこれを読んで何か提案があれば、フィードバックを残してください。私はしばらくこれを監視する予定です.

0 投票する
4 に答える
950 参照

.net-2.0 - 2 つのリストを組み合わせる良い方法.NET 2.0 の?

結合を形成する必要がある 2 つのリストがありますが、.NET 2.0 を使用しているため、Union() メソッドが使用されていないように見えます。これらは整数のリストなので、等値比較に問題はありません。これについて行く良い方法は何ですか?

0 投票する
2 に答える
423 参照

f# - F# でユニオンからインスタンスをランダムに選択する

F# では、与えられた

type MyType = A | B | C | D | E | F | G

MyType のインスタンスをランダムに定義するにはどうすればよいですか?