問題タブ [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.

0 投票する
7 に答える
13222 参照

c# - 文字列のリストを単一の連結文字列に変換する最速の方法は?

次のように、文字列のリストを生成する LINQ コードがあります。

その文字列のリストを 1 つの大きな連結文字列に変換するにはどうすればよいですか? データに次のエントリがあるとします。

最終的には、次のような 1 つの文字列になるはずです。

どうすればこれをすばやく行うことができますか? 私はこれについて考えました:

しかし、それは正しくないようです。それが正しい解決策である場合、これを拡張メソッドに変換するにはどうすればよいですか?

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

c# - LINQ - OrderBy EnumValue と Union 結果セットを使用してオブジェクトのリストを並べ替えますか?

ご挨拶!LINQ を使用してオブジェクトのリストをクエリし、それらを列挙値、文字列値で並べ替えてから、同様の方法で並べ替えられた残りのリストを統合したいので、ここでは LINQ 初心者なので、優しくしてください。

これらのオブジェクトのリストを作成し、Enum.EnumValue[X] を持つすべてのアイテムがリストの最初に表示され、名前でソートされ、その後に同様の方法でソートされた他のすべてのアイテムが続くように、それらを可変的にソートしたいと考えていますの結果セットの SQL)

LINQ Magic を共有できるグルはいますか?

ありがとう!

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

c# - LINQ / HttpContext.Application & WebServices の扱い

次の関数 + コードを使用して Web サービス リクエストを解析およびクエリし、理論的には結果をアプリケーションに保存します (1 日に 1 回だけ更新する必要があるため、幸運にもアプリケーションが更新されるときです)。

このビットは正常に動作します

**理想的には、それを appmemory から引き出して、データにアクセスできるようにしたいと考えています。データは、情報を使用するためにさまざまな (おそらくばかげた) メソッドを試した場所です。引き抜くだけで問題が発生します:o( **


マーク付きで回答 (.AsQueryable() を削除) クイック例

これを冗長な回答にするために、結果セットを再クエリして表示する簡単な方法...

うまくいけば、誰かに使用されます。

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

asp.net-mvc - Linq クエリで If ステートメントを実行する方法

私は現在、以下を含むリストを持っています

これは、リンクされたデータのフラット化されたセットです (つまり、基本的には保存された結合検索の結果です)

MVC ルートは 1 つの文字列のみを渡し、それを階層内の適切なレベルのデータに一致させる必要があります。したがって、CountryStr にクエリを実行しようとしています。結果が得られない場合は、地域、次に地域です。しかし、そのクエリを実行する必要があり、たとえば...

現時点でこれを行う唯一の方法は、各クエリを個別に実行し、返された値を確認してその値を使用することです。より賢く、よりクリーンな方法があることを願っています。

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

c# - グループ内の LINQ-to-objects インデックス + 異なるグループ化 (別名、PARTITION BY と同等の ROW_NUMBER)

多くの Google 検索とコードの実験の後、複雑な C# LINQ-to-objects 問題に困惑しました。SQL では、ROW_NUMBER()...PARTITION BY 関数のペアと 1 つまたは 2 つのサブクエリで簡単に解決できます。

つまり、私がコードでやろうとしていることは次のとおりです。根本的な要件は、重複するドキュメントをリストから削除することです。

  1. まず、(Document.Title, Document.SourceId) でリストをグループ化し、次のような (簡略化された) クラス定義を想定します。
    /li>
  2. そのグループ内で、各ドキュメントにインデックスを割り当てます (たとえば、インデックス 0 == このソースからのこのタイトルの最初のドキュメント、インデックス 1 = このソースからのこのタイトルの 2 番目のドキュメントなど)。SQL の ROW_NUMBER() に相当するものが欲しいです!

  3. 今度は (Document.Title, Index) でグループ化します。Index は手順 2 で計算されました。グループごとに、Document.SourceId が最小のドキュメントを 1 つだけ返します。

ステップ 1 は簡単ですが (例: codepronet.blogspot.com/2009/01/group-by-in-linq.html)、ステップ 2 と 3 で困惑しています。3 つの手順すべてを解決するために、赤い波線のない C# LINQ クエリを作成することはできないようです。

このスレッドに関する Anders Heilsberg の投稿は、正しい構文を取得できれば、上記のステップ 2 と 3 に対する答えだと思います。

slodge.blogspot.com/2009/01/adding-row-number-using-linq-to-objects.html で推奨されているように、インデックスの計算を行うために外部ローカル変数を使用することは避けたいと思います。外部変数が変更された場合。

最適には、タイトルによるグループ化のステップを最初に実行できるため、「内部」のグループ化 (最初にソースでインデックスを計算し、次にインデックスで重複を除外する) で、各「タイトルで」少数のオブジェクトを操作できます。各タイトル グループ内のドキュメントの数は通常 100 未満であるため、N 2ソリューションは本当に必要ありません。

ネストされた foreach ループでこれを解決することはできますが、LINQ では単純な問題のように思えます。

何か案は?

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

linq - LINQオブジェクト内からLINQtoSQLクエリを実行できますか?

現在、DataContextクラスのメソッドとしてLINQクエリを実装しています。このメソッドは、Wiki/CMS内のページに対してユーザーが持つ権限を計算します。私がやりたいのは、このメソッドをPageおよびUserLINQデータオブジェクトに再配置することです。

ただし、このクエリを個々のデータオブジェクトに移動すると、LINQtoSQLではなくLINQtoObjectsを使用して実行されます。これは、実行するたびにデータベースサーバーからいくつかの完全なコレクションを取得することを意味します。

これは、LINQtoObjectsを使用するコードのフラグメントです。LINQtoSQLを使用するには次のようにします。

これは、LINQtoSQLを使用して機能するコードのフラグメントです。DataContextよりもWikiPageクラスにこのメソッドが必要です。

LINQクエリをDataContextから実行すると、LINQ to SQLとして実行されますが、WikiPage LINQオブジェクトから実行すると、LINQtoObjectsとして実行されます。ここでの私の構文に何か問題がありますか、それともこれはLINQでは不可能ですか?

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

linq - SQL から Linq への変換

私は以下のようにSQLを持っています

LINQ への変換 ..... で打たれた ???

これを行う他の良い方法はありますか。

ありがとう

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

c# - LINQPadは他のクラスをどのように参照しますか(例:LINQ in Actionサンプルの本)

LINQPadを使用して、構築しているアプリケーションでLINQクエリを作成しています。

ダウンロードしたLINQinActionサンプル(例4.04など)で、インテリセンスはクラス「Books」を示していますが、LINQPadツールに参照または「using 」ステートメントが表示されないことに気付きました。サンプルは次のとおりです。

「LinqBooks.Common、Business Objects、Book.linq」では、クラスが定義されているように見えます。

しかし、これはどのように機能するので、クラスにコピーし、LINQPadを使用してLINQステートメントをすばやく作成し、それをアプリケーションにコピーして戻すことができますか?

0 投票する
9 に答える
34411 参照

c# - ネストされた foreach を LINQ に置き換えます。内部のプロパティを変更および更新する

5 レベルまたは 6 レベルの深さのオブジェクトの 1 つ以上のプロパティでデータ メンバーを変更する必要があるとします。

検査と変更が必要なプロパティに到達するために反復する必要があるサブコレクションがあります。

ここでは、Employee の住所を消去するメソッドを呼び出しています。ループ内でデータを変更しているため、現在の実装でforは例外を防ぐためにループが必要です。

「foreach 反復変数」であるため、「someVariable」に代入できません

ネストされた と を使用した現在のアルゴリズム (難読化) を次に示しforeachますfor

質問: このアルゴリズムは、LINQ を使用して再実装できますか? 要件は、元のコレクションのデータがその静的メソッド呼び出しによって変更されることです。

更新: jQuery/selector タイプのソリューションの方向性を考えていました。私はこの質問をそのように具体的に言いませんでした。私はその考えに行き過ぎていたことに気づきました(副作用はありません)。みんなありがとう!jQueryのようなセレクターを実行する方法があれば、それを見てみましょう!