問題タブ [generic-list]
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# - 汎用リストの柔軟な拡張メソッドを作成するには?
プロジェクトとライセンスの 2 つのオブジェクトがあります。どちらもオブジェクト Entity (抽象クラス) から継承します。
これで、エンティティのリスト内の次の ID を取得するロジックを含む拡張メソッド "GetNewId" ができました。
このメソッドを拡張メソッドとして定義しましたが、問題は List (エンティティのリストでもあります) と List がこのメソッドを認識しないことです。
この問題は、同じ基本クラスから継承するオブジェクトを含むジェネリック リストで発生すると思います。
この問題の解決策はありますか?
編集:C#での作業
jsp - Tomcat 6.0 では、ジェネリック ArrayList を useBean に使用できません
jsp ファイルには、次の宣言があります。
この宣言は GlassFish 2.1 では正常に機能しますが、Tomcat 6.0 に切り替えると例外がスローされます。
useBean クラス属性 java.util.ArrayList の値が無効です。
Glass Fish 2.1 とは動作が異なる Tomcat に欠けているライブラリはありますか?
.net - vb.net で List(Of t) からアイテムを削除できない
アイテムを使用から削除する一般的なリストがありList.Remove(Object)
ます。アイテムを削除していましたが、5 番目のアイテムに到達するたびに削除に失敗し、リストから削除されません。何を削除するかは問題ではないようですが、5 つのアイテムを削除しようとするたびに、5 番目のアイテムで失敗します。
何が原因でしょうか? のドキュメントを見るとList(Of T).Remove
、アイテムを削除するために使用しているアルゴリズムが指定されていません。
c# - ASP.NETMVCビュー/ジェネリックで部分的
EditorFor拡張メソッド(MVC2)で使用するList`1エディターテンプレートを作成しましたが、ジェネリックス+nullオブジェクトを使用すると問題が発生します。
与えられたモデル
および/Views/Shared/EditorTemplates/List`1.ascxのテンプレート
ModelMetaDataのタイプは「Foo」になるため、SomeFooに期待されるエディターと、nullではないSomeFooListの要素を取得します。ただし、SomeFooListのオブジェクトの1つとして「null」がある場合、モデルは「object」タイプであり、リストの一般的な引数からFooまたはより一般的にはTではないため、何もレンダリングされません。
基本的に私は次のようなことを達成したいと思います
だから私は私のリストの種類を知っています。
nullの場合にModelMetaData.ModelTypeフィールドを変更することも検討できます(これは読み取り専用であるため、新しいオブジェクトを作成することによって)-しかし、これは避けたい厄介なハックの1つです。
もう1つの考えは、.Invokeを使用してEditorForメソッドを呼び出し、そこにtypeof(T)を渡すことですが、可能であれば、このタイプのコードは避けたいと思います。
何かご意見は?
アップデート:
型をモデルのメタデータに取り込もうとすると、最初に予想したよりも少し注意が必要でした。私はコードを次のように更新しましたが、これは機能しているようですが、それでもソリトンにはあまり熱心ではありません。
アマール
linq - 一般的なコレクションの並べ替えを変換して Linq を利用する
オブジェクトのリストをソートするための既存のコードがあります。
これを次のように置き換えることで単純化できると感じています。
私の仮定は正しいですか?
c# - IList - フィルター処理と並べ替えを行う LINQ
一般的なリストを検索する次のテスト コードがあります。
パラメーター (MyEntity のプロパティ) で順序を渡し、それに基づいて結果を並べたいと思います。LINQ が OrderBy を使用していることは理解していますが、MyEntity のプロパティで注文する方法がわかりません。
c# - ジェネリック リストに追加できません
まず、単純化しすぎて申し訳ありませんが、私はこの問題に頭がおかしくなっています。それはうまくいくはずです-それは単純なコードであり、空想は何もありません........
私はこのオブジェクトを持っています
このクラスで使用されるもの:
Global.asax で static として宣言されているもの <<<< これは重要かもしれません
コードで使用すると、次のようになります。
コンパイルされ、デバッグで実行できます (これは WCF Web サービスです)。変数 (intStuff と lstStuff) はすべて有効ですが、ブラウザーで Service.svc をクリックすると、次のエラーが表示されます。
CS1502: 'System.Collections.Generic.List.Add(Stuff)' に最適なオーバーロードされたメソッドに無効な引数が含まれています
私はこれで木のための木を見ることができないと思うし、インターウェブは役に立たなかった.
Aso、グローバル オブジェクト内の他のすべてのオブジェクトと関数は問題ありません。ほとんどの場合、ハッシュテーブルであり、この機能を追加しようとするまでコードが実行されました。ハッシュテーブルを使用しますが、キーが一意でないようにする必要があります。
何かアイデアはありますか?
ありがとう
P
c# - C#リストラムダ検索してから要素を変更
ラムダを使用してリストでこれを行うにはどうすればよいですか?
つまり、Seconds == 0であるすべてのfooオブジェクトを見つけて、値をローカル変数に変更します...
リストをループしたくない...単純なラムダメソッドでこれを行う方法があると確信しています...
助けていただければ幸いです
一方通行
c# - C#2.0 でジェネリック リストを別のジェネリック リストから減算する方法
まず第一に、私が自分の問題に間違った方法で取り組んでいる可能性が非常に高いです。その場合、代替案を喜んで受け入れます。
私が達成しようとしているのは、USB デバイスがコンピューターに接続された後に作成されたドライブを検出することです。
簡略化されたワークフローは次のとおりです。
GetRemovableDriveList
リムーバブル ドライブ文字の文字列のリストを返します。私のアイデアは、デバイスが接続される前にリムーバブル ドライブのリストを取得し、接続後に別のリストを取得することでした。最初のリストの内容を 2 番目のリストから削除すると、接続されたばかりのドライブが残ります (通常は、唯一)。
しかし、あるリストを別のリストから「差し引く」簡単な方法が見つかりません。誰でも解決策、または私がやろうとしていることを達成するためのより良い方法を提案できます.
注: プロジェクトは .NET Framework 2.0 を対象としているため、LINQ は使用できません。
ありがとう!
c# - カスタムスレッドセーフジェネリックリストがC#でリスト全体を返すようにするにはどうすればよいですか?
私はスレッド初心者で、C# (.NET 3.5 SP1) でカスタム スレッド セーフ ジェネリック リスト クラスを作成しようとしています。私は読んだことがありますなぜスレッドセーフなコレクションはとても難しいのですか? . クラスの要件を確認した後、リストに安全に追加してリストを返すだけでよいと思います。この例は、リターンリストメソッドがないことを除いて、私が望むほとんどすべてを示しているため、以下のように独自のパブリックメソッドを作成しました:
更新:提案に基づいて、要件を確認したため、クラスを以下のように単純化しました。