[解決済み] LINQはIEnumerableで動作しますか?
2023-02-21 08:54:01
質問
を実装したクラスがあります。
IEnumerable
を実装していますが
IEnumerable<T>
. このクラスを変更することはできませんし、このクラスの代わりに別のクラスを使用することもできません。私がMSDNから理解したように
を実装しているクラスはLINQを使用することができます。
IEnumerable<T>
. 私は
instance.ToQueryable()
を使ってみましたが、それでもLINQメソッドを有効にすることはできません。このクラスが1つのタイプのインスタンスだけを含むことができることは確かなので、このクラスが実装できるのは
IEnumerable<T>
を実装することができますが、そうではありません。LINQ式を使用してこのクラスを照会するにはどうすればよいのでしょうか。
どのように解決するのですか?
この場合
Cast<T>()
または
OfType<T>
で、LINQを完全にサポートするIEnumerableの一般的なバージョンを取得することができます。
eg.
IEnumerable objects = ...;
IEnumerable<string> strings = objects.Cast<string>();
あるいは、どのような型が含まれているか分からなければ、いつでもそうすることができます。
IEnumerable<object> e = objects.Cast<object>();
もし、一般的でない
IEnumerable
が様々なタイプのオブジェクトを含んでいて、 例えば文字列だけに興味がある場合、このようにすることができます。
IEnumerable<string> strings = objects.OfType<string>();
関連
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] LINQのGroup by
-
[解決済み] IEnumerable<T> と IQueryable<T> を比較する。
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] IEnumerable<T>のforeachのLINQでの等価性
-
[解決済み] IEnumerable<T> / IQueryable<T>の動的なLINQ OrderBy
-
[解決済み] IEnumerable<T> として単一の項目を渡す
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] NetFx45WebLinkとNetFx45RedistLinkの違いは何ですか?
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
-
[解決済み] 到達不能なホストに対してソケット操作を行おうとした
-
[解決済み] AssemblyInfo.csは何に使うのですか?
-
[解決済み] DockPanelを空きスペースいっぱいに表示させる方法
-
[解決済み] gacutil.exeはどこですか?
-
[解決済み] terminationGracePeriodSeconds not
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] Microsoft.ACE.OLEDB.12.0' プロバイダがローカルマシンに登録されていません。
-
[解決済み] Visual Studioのコンパイルエラー "mismatch between processor architecture "を修正するにはどうしたらいいですか?