問題タブ [ienumerable]
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.
arrays - IEnumerable を変換する最良の方法T[]に
ジェネリックIEnumerable<T>
実装から T の配列に変換する最良の方法は何ですか? 私が持っている現在のソリューションは次のようになります。
を介した転送List<T>
は不必要に思えますが、それを行うためのより良い方法を見つけることができませんでした.
注: ここでは C# 2.0 で作業しています。
linq - IQueryable オブジェクトによって作成された式の実行を IEnumerable に転送するにはどうすればよいですか?
私のコードでは、リポジトリを IQueryable にしたいと考えています。このように、選択の基準は linq 式ツリーになります。
理論的にリポジトリをモックしたい場合、これは非常に簡単です。リポジトリのインターフェイスを実装するだけです (これは IQueryable オブジェクトでもあります)。
私のモック リポジトリの実装はインメモリ コレクションにすぎませんが、私の質問は、クエリをインメモリ コレクション (IEnumerable) に転送するために、モックの IQueryable インターフェイスを実装する簡単な方法を知っていますか?
ご返信ありがとうございます、
ある程度の精度
私のリポジトリのクライアント オブジェクトは、私のリポジトリを次のように使用します。
var result = MyRepository のエントリから。entry.Product == "SomeProduct" select entry;
ToList または AsEnumerable とは、クエリを実行し、結果を List または IEnumerable として返すことです。しかし、IEnumerable オブジェクトへの呼び出しで式を変換する IQueryProvider を使用して、リポジトリに IQueryable インターフェイスを実装する必要があります。
解決
ソリューションの実装では、IQueryable への呼び出しを AsQueryable を使用してインメモリ コレクションに委任しています。
linq - データセットを IQueryable に変換またはIEnumerable
DB2 への Linq はまだないので (IBM さん!)、コードで IQueryables または IEnumerables を処理したいのですが、DataTable を IQueryable に変換するにはどうすればよいでしょうか? またはIEnumerable?
データテーブルの列に一致するインターフェイスとクラスがあります...
MSFT がヤンクしたため、DataTable.Rows は .AsQueryable をサポートしていないため、ここで何をすべきかわかりません。
c# - C# で IEnumerables をチェーンしますか?
s の順序付けられたリストを取得し、最初のすべての要素、次に 2 番目などのすべての要素を順番に生成IEnumerable
するシングルを返す簡単な組み込みの方法はありますか。IEnumerable
もちろん、自分で書くこともできますが、この一見便利なタスクを実行する前に、それを実行する方法が既にあるかどうかを知りたかったのです。
c# - C# でドロップダウン リストやグリッドなどを設定するために使用するクラスを作成する
私は C# と OOP を初めて使用するので、これが簡単な質問のように思われる場合は、事前にお詫び申し上げます。私は自分のコードに戻って、反復コードをオブジェクト化し、そのクラスを単純に再利用できるようにクラスを作成する方法を探しています。そうは言っても、まだ NHibernate やその他の ORM を学ぶつもりはありません。私はLINQを学ぶつもりさえありません。これをハックして学びたい。
基本的に、同じコードを使用してデータベースにアクセスし、取得した値をドロップダウン リストに入力します。例:
私はこの同じコードを、プログラム全体のさまざまなページで何度も使用しています。ほとんどの場合、ドロップダウン リストまたはコンボ ボックスにデータを入力しますが、クエリを少しだけ変更してグリッドビューにデータを入力することもあります。
私の質問は、私の例のように手動でクエリを使用する代わりに、ストアド プロシージャを呼び出すことができるクラスを作成し、さまざまなコントロールにデータを入力するにはどうすればよいですか? 1つの方法だけで行うことは可能ですか? 選択から始めるだけです。使用するのに適切なインターフェイスのように思われる IEnumerable について調べてきましたが、どのように使用すればよいですか?
追加するために編集:
Rorschach の回答を THE 回答としてマークしました。また、適切な DAL 層とおそらく BLL 層の必要性も理解しています。私が到達しようとしていたのはそれでした。データセットとテーブル アダプターを使用して DAL を構築すると、最終的に厳密に型指定されたデータセットが得られます。ただし、コードから少し離れているように感じます。私は、上記のコードから始めて、自分で DAL を構築する簡単な方法を求めていました。おそらく、私は自分の質問や求めていることを正しく表現していません。
いずれにせよ、ロールシャッハは私の実際の質問に答えるのに最も近かった. ありがとう。
sql - Linq to SQL の動的テーブル名
こんにちは、私は仕事をしなければならない恐ろしいデータベースを持っています.linq to sqlは、データを取得するためのオプションです。ユーザーの選択に基づいて別のテーブル名をスローして関数を再利用しようとしている人がいますが、私の知る限り、DataContext クエリで TEntity または Table<> を変更する方法はありません。
これが私の現在のコードです。
ViewData に Enumerable レコードを入力したいと考えています。
c# - 生成されたIEnumerableをPagedListで機能させるにはどうすればよいですか。
プロジェクトでTroyGoodeのページリストを使用しています。
通常は、IEnumerable、startindex、およびitem countをフィードするだけで、すべて機能します。
ただし、次のように生成したIEnumerableをフィードしようとしています。
--EDIT-- pagedListは機能しますが、ページングされたオブジェクトだけでなく、すべてのMyColorオブジェクトのyieldを要求します。このコース外では、PagedListの使用全体が無効になり、大量の列挙が発生する可能性があります。
--EDIT--
必要だと思うのは、Count()を実装して、ColorService.GetColor()を使用してすべてのオブジェクトを作成し、そのリストをカウントする代わりに、ids.Distinct(int)からカウントを返すようにする方法です。 。
c# - IEnumerable と IEnumerator を説明してくれる人はいますか?
IEnumerable
誰かが私に説明できますIEnumerator
か?
たとえば、いつ foreach で使用するのでしょうか? IEnumerable
とはどう違いIEnumerator
ますか?なぜそれを使用する必要があるのですか?
ienumerable - IEnumerable2 つの GetEnumerator メソッドを提供しています - それらの違いは何ですか?
IEnumerable<T>
インターフェイスを実装すると、return と otherの2 つのGetEnumerator
メソッドが表示されます。どちらかをいつ使用しますか?IEnumerator
IEnumerator<T>
c# - 渡すGetEnumが実行されるメソッドにと呼ばれる
を返すオブジェクトを持つAPIを使用しているIEnumerable<T>
ので、のようなものです Object.GetEnum<T>
。
GetEnumを呼び出すメソッドがありますが、メソッドのパラメーターにパラメータータイプを渡す機能を追加したいと思います。たとえば、私は次のことを行います。
したがって、上記のように、myMethodのパラメーターの種類や、列挙子を取得するコードの記述方法がわかりません。apiClass1とapiClass2が継承するクラスである「apiClass」を渡してみました。しかし、それから何をすべきかについてそこで立ち往生しました…そして私はそれがとにかく本当にうまくいくとは思いません。
したがって、C#でこれを行う方法がわからないのか、それとも可能かどうかはわかりません…。または、APIに何かが欠けている(またはAPIにこれを容易にするための何かが欠けている)可能性があります。
ありがとうFKC