問題タブ [linq-to-objects]
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# - 「ネストされたforeach」と「ラムダ/linqクエリ」のパフォーマンス(LINQ-to-Objects)
パフォーマンスの観点から、「ネストされたforeach」または「lambda / linqクエリ」を何を使用する必要がありますか?
linq-to-sql - Linq to SQL と Linq to Objects クエリは同じですか?
DataContext を抽象化すると、L2S クエリと L2O クエリは同じになりますか?
私はすでにこれを実証する実用的なプロトタイプを持っていますが、それは非常に単純で、より高度なクエリに耐えられるかどうか疑問に思っています.
誰か知っていますか?
c# - C#/ LINQで次のデータ構造の個別のアイテムを取得するにはどうすればよいですか?
私は次のオブジェクトを持っています:
これで、複数のエージェンシーを含むIEnumerable <Agency
>があり、これらのエージェンシーには複数のBusinessUnitが含まれ、それらのBusinessUnitには複数のクライアントが含まれています。
次のようになります。
Agency1
++ BusinessUnit1-$ 20
++++ Client1-$ 10
++++ Client2-$ 10Agency2
++ BusinessUnit2-$ 20
++++ Client1-$ 20Agency3
++ BusinessUnit1-$ 10
++++ Client5-$ 5
++++ Client6-$ 5
++ BusinessUnit2-$ 25
++++ Client1-$ 25
今、私が探しているのは、BusinessUnitsとClientsのリストを作成することですが、すべてのエージェンシーに対して、重複はありません。
だから、私はそのエージェンシーのリストを次のように変えたいと思っています:
すべてのエージェンシー
++BusinessUnit1-$30
++++ Client1-$ 10 ++++ Client2-
$ 10
++++ Client5-$ 5
++++ Client6-$ 5++ BusinessUnit2-$ 45
++++ Client1-$ 20
++++ Client1-$ 25
ここで、一意のBusinessUnitのリスト(その特定のBusinessUnitのすべてのインスタンスにわたる正しいAmountSpentの合計)と、その下の一意のクライアントのリスト、そのビジネスユニットの下のその特定のクライアントの各インスタンスの正しいAmountSpentの合計があります。 。
LINQを使用して、IEnumerable <Agency
> Agenciesリストをクエリして、正しい合計でBusinessUnit / Clientの組み合わせの個別のリストを返すことはできますか?
c# - この LINQ クエリに項目を追加するにはどうすればよいですか?
私は次のオブジェクトを持っています。IEnumerable <Agency
> Agencies には BusinessUnits が含まれ、BusinessUnits にはクライアントが含まれます。
このクエリを使用して、BusinessUnits を代理店の下に統合して、「すべての代理店:」を表示できるようにしました。データは次のとおりです。
これに:
そのために、次の LINQ クエリを使用しています。
私の質問は、返されたオブジェクトに BusinessUnit とクライアントの「名前」フィールドを含めるにはどうすればよいですか。現時点では、結果の BusinessUnits には、グループ化のキーから取得した ID のみが含まれています。
ID だけでなく、クエリで BusinessUnit から "名前" を返すこともできる必要があります。グループ化と組み合わせてLINQでこれを行う方法がわかりません。
c# - このデータを LINQ で必要なオブジェクトに整理するにはどうすればよいですか?
次のクラスがあり、クエリした一連のデータのリストを作成しようとしています:
「AuditRule」は次のとおりです。
現在、かなり複雑なクエリの後、次のような匿名オブジェクトにデータを取得できました。
私はその形式のレコードを何千も持っており、IEnumerable <Agency
> を作成しようとしています。これには、各機関のルールのリストが含まれます。
したがって、例として次のデータを取り上げます。
したがって、このデータから、最初にエージェンシーのリスト (一番上のクラス) を作成しようとしています。この例では、明らかに「CCR」と「YRX」です。次に、機関ごとに<AuditRule
、レコードがある IEnumerable > 内の各ルールのエントリが必要です。
したがって、エージェンシー「CCR」には、「Call」と「Time」という 2 つのルール エントリがあります。「Call」AuditRule エントリの AvgDaysWorked は 4 になります。これは、エージェンシー「CCR」の下にある「Call」のエントリを平均して 3 日と 5 日稼働しているためです。エントリが 1 つしかないため、Time AuditRule エントリの AvgDaysWorked は 2 になります。
LINQ忍者のスキルを持っている人が、このデータを各機関の機関とルールのリストにまとめるのを手伝ってくれませんか(そのルール/機関の組み合わせで働いた平均日数)?
その匿名オブジェクトをまとめることさえできるほど複雑で、このクエリを作成してこのエージェンシー/監査ルールのリストを作成するのに本当に苦労しています。
これは、SelectMany() などを使用するケースですか? 私はここでちょっと迷っています。
c# - チェーンされたLINQ拡張メソッド呼び出しの「let」キーワードに相当するコード
C#コンパイラのクエリ理解機能を使用すると、次のようなコードを記述できます。
上記のクエリ式では、let
キーワードを使用すると、。を重複して呼び出すことなく、whereおよびorderby操作に値を渡すことができますanimalName.Length
。
ここで「let」キーワードが行うことを実現する、同等のLINQ拡張メソッド呼び出しのセットは何ですか?
java - Quaere - 使っている人はいますか? (Java のオブジェクトへの LINQ)
私はもともと .NET の人間で、最近 Java で作業していて、LINQ to Objects、特にコレクションに対してフィルタリングを実行する機能が本当に不足していることに気付きました。
Stack Overflow の何人かが、「LINQ for Java?」に答えています。一言で質問 :
しかし、サイトでは「Pre-Beta」と明確に記載されており、1 年以上コードにコミットされていないため、プロジェクトはほとんど死んでいると思います。
誰かが実際にこれを使用していますか、および/または経験がありますか?
2 番目に多い回答は、「Google コレクションを使用する」のようです。これは最も適切な Java の方法ですか?
乾杯
マーティ
.net - 非ジェネリック ICollection を実装するクラスでの LINQ の使用
オブジェクトに対して LINQ クエリを実行したかったのですが、 をMatchCollection
実装していないためICollection<T>
、これは不可能であることがわかりましたICollection
。
コードの簡潔さだけでなく、パフォーマンスとメモリ使用量の両方の観点から、非ジェネリック コレクションで LINQ を使用するための最良のオプションは何ですか?
(興味がある場合は、非 LINQuified コードを次に示します:)
c# - LINQ to Objects クエリが結果を返さないのはなぜですか?
私が使用している次のクエリがあります(これは主にここで受け取ったヘルプからのものです):
これにより、AuditAgency オブジェクトのリストが返され、各 AuditAgency には AuditAgencyRules のリストが含まれます。
さて、このクエリの最後のステップとして、私が問題を抱えている部分.. IEnumerable ルールがパラメーターとしてこのメソッドに渡されていることがわかります。
私がやりたいのは、そこにある 2 番目のクエリで、各エージェンシーのルールのリストを作成することです。ローカルの「ルール」オブジェクトで左外部結合を実行したいと考えています。渡す各ルール オブジェクトには、rule.ID があります。各エージェンシーには、渡されたルールのみを含め、それらのデータがない場合は、コンテンツを null のままにしておきます。
現在、私のクエリには、データベースから返されたすべてのルールとそのデータが含まれています。ただし、データベースから返されるルールと一致するかどうかに関係なく、メソッドに渡されるルールのみを含める必要があります。つまり、ローカルの「ルール」オブジェクトに対して、現在そこにあるルールを使用して左外部結合を行う必要があります。
上記のコードのどこにコメントを追加したかを確認して、どこで何をしようとしているのかを説明してください。
そのため、「rules」に ID が設定された 3 つのルールのみが含まれている場合、このクエリは、それらのルールのデータがあるかどうかに関係なく、各機関の 3 つのルールのみを返します (そのデータは null になります)。各エージェンシーのすべてのルールを返すのではなく、それが現在行われていることです。
LINQ to SQL クエリで "ローカル" オブジェクトに対してこの左外部結合を記述するにはどうすればよいですか?
上記の 2 番目のクエリの後で、「ルール」オブジェクトと AuditAgencies のルールに対して left-outer-join を実行する試みを次に示します。
サイコロはありません。今、すべてのルールの代わりに、~no~ ルールを取得しています。私が望むのは、このメソッドに渡すルールを取得することだけです。
誰かが私を正しい方向に向けることができますか?