問題タブ [ilist]
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# - IList を変換するコンマ区切りリストへのコレクション
IList コレクションをカンマ区切りの ID の文字列に変換するエレガントな方法はありますか?
"1,234,2,324,324,2"
c# - どのJsonデシリアライザーがIListをレンダリングするかコレクション?
コレクションが型として表されるオブジェクトモデルにjsonを逆シリアル化しようとしていIList<T>
ます。
実際の逆シリアル化はここにあります:
例外を投稿する前に、暗黙の変換が何であるかを知っておく必要があります。これはContact
タイプです:
そしてこれはContactDetail
タイプです:
で知っておくべき重要なことLazyList<T>
は、それが実装しているということIList<T>
です:
LazyList<T>
これで、 Jsonを逆シリアル化しようとするまで、このクラス定義は問題ありませんでした。は、その年齢の意味のあるSystem.Web.Script.Serialization.JavaScriptSerializer
リストをシリアル化したいと思っているようですが、それらが私の中にキャストされるように、タイプでそれらが必要です(少なくともそれは私が間違っていると思うところです)。List<T>
IList<T>
LazyList<T>
この例外が発生します:
List<ContactDetail>
私が私のタイプで使用しようとするContact
と(上記のコメントを見ることができるように)、それはうまくいくようです。しかし、私はを使いたくありませんList<T>
。LazyList<T>
実行しているように見える継承を試してみましたが、内部を実装にList<T>
渡すのは悪夢であり、モデルのどこにも肥大化したくないだけです。List<T>
T[]
List<T>
また、他のいくつかのjsonライブラリを無駄に試しました(これらを最大限に活用していない可能性があります。多かれ少なかれ参照を置き換えて、この質問の上部に引用されているコードを繰り返してみました。おそらく、settingsparamsを渡すとヘルプ??)。
今何をしようかわからない。別のデシリアライザーを使用しますか?デシリアライズ自体を微調整しますか?デシリアライザーを満足させるためにタイプを変更する必要がありますか?暗黙のキャストについてもっと心配する必要がありますか、それとも単に別のインターフェイスを実装する必要がありますか?
asp.net - asp.netvb.netのdal関数から複数のilistを返します
ストアドプロシージャから(Web検索フォームから)強く型付けされた製品のIlistを返す関数を変更しました。
ストアドプロシージャは複雑であるため、製品の結果を使用して製品カテゴリも返すように変更しました。私はこれを別の強く型付けされたilistに入れることができますが、私の人生の間、2つのilistを返すことはできません。
Unfotunatley何百もの投稿を読んだ後、才能が足りなくなりました。linqで可能だと思われますが、知識がさらに少ないので、そのようにはしたくありません。
ilistをある種のコレクションに入れて、ilistとして使用するために返すことは可能ですか?
そうでない場合、他の方法はありますか?ストアドプロシージャを再度呼び出すことはできますが、2回呼び出すとコストがかかります。
c# - リストに格納できる要素の制限はありますか?
List に格納できる要素の制限はありますか? または、メモリがなくなるまで要素を追加し続けることができますか?
c# - 一般的なリストの質問
私はこのようなオブジェクトを持っています。
そしてテストクラス
}
しかし、GetAllActiveData メソッドから null の結果が返されます。とにかく IList をあるタイプから別のタイプに変換しますか。
c# - 関数をオーバーロードしてIEnumerableを受け入れるのは一般的な(または推奨される)慣行ですか、Iコレクション、IListなど?
編集:
与えられた回答から、以下で質問している設計を実際にどのように実装する必要があるかがかなり明確になりました。これらの提案を念頭に置いて (そして、私のコード例はコンパイルすらしないことを丁寧に指摘するコメントに応えて)、一般的なコンセンサスを反映するように次のコードを編集しました。残っている質問は、コードを考えるともはや意味をなさないかもしれませんが、後世のためにそのままにしておきます。
次のような関数の 3 つのオーバーロードがあるとしIEnumerable<T>
ます。ICollection<T>
IList<T>
ここでの考え方は、 を持っていればIList<T>
仕事が楽になるということです。一方、または;ICollection<T>
でさえも仕事をすることができます。IEnumerable<T>
これらのインターフェイスの実装は効率的ではありません。
これが機能するかどうかはわかりませんでしたが (ランタイムが渡されたパラメーターに基づいてオーバーロードを選択できる場合)、テストしたところ、機能するようです。
私の質問は次のとおりです。私が考えていなかったこのアプローチに問題はありますか? あるいは、これは実際には良いアプローチですが、それを達成するためのより良い方法があります (おそらく、values
引数をIList<T>
最初にキャストし、キャストが機能する場合はより効率的なオーバーロードを実行することによって)? 他の人の考えを知りたいだけです。
c# - C# 初心者: IList.Where() メソッドはどこに行ったのですか?
私は困惑している別の単純なものを持っています(私は思う)。私は自分のコントロールの 1 つに、ファイル名を指定して CMS 内のファイルの最新バージョンを取得するメソッドを作成しました (つまり、ファイルが存在するフォルダーに関係なく)。CMSToolbox クラスに入れようと思ったほど便利でしたが、これを行うとWhere()
、CMS が提供する (リストを返す) FileManager クラスのメソッドを使用できなくなります。
これが私のクラスの簡単な例です:
Control (実際には を拡張する CMS によって提供されるクラス) のコンテキストでまったく同じことを行うControl
と、メソッドにアクセスできますWhere()
が、ToolBox クラスではアクセスできません。何を与える?IList
を使用すると、どこからでも同じメソッドにアクセスできるようになると考えました。
私はまた間違っています、ハハ:)
編集:拡張Filemanager.GetGroupAll()
するaを返しますCMSList
IList
c# - c# - ジェネリック リストを逆シリアル化する方法(T) の型がわからないときは?
聴覚上の理由から、binaryformatter を使用してシリアル化されたビジネス メソッドの引数をデータベースに格納します。
問題は、引数がジェネリック リストの場合、型がわからないため、逆シリアル化されたオブジェクトをキャストする方法が見つからないことです。ランタイム。
汎用リストを含むオブジェクトを実行時に動的にキャストする方法を知っている人はいますか?
逆シリアル化されたデータをプロパティ グリッドに表示する必要があるため、これを行う必要があります。
asp.net-mvc - セッションに保存されているIListは、IListのローカルコピーが変更されると更新されます。
大規模なマルチエリアMVCプロジェクトを構築しています。(MVC 2ベータ版)。
独自のプロジェクトMySessionに、次のようなセッションラッパークラスがあります。
子領域プロジェクトでは、ラッパーを使用してリストを作成し、セッションに保存します。
これは正常に機能します。後で、セッションからローカル変数userListにリストを取得します。
次に、新しいアイテムをLOCAL userListに追加します(ユーザーに保存するかどうかを尋ねます)。
ここで問題が発生します。上記の.Addメソッドの直後に、ローカルuserListに新しいアイテムが追加されますが、セッションに格納されているuserListには、ローカルリストに追加された新しいアイテムも含まれます。
ユーザーが新しいリストを保存する必要がない限り、セッションでリストを更新したくないので、明示的に保存します。
これが発生するのはなぜですか。また、現在セッション中のアイテムではなく、ローカルリストにのみアイテムを追加するにはどうすればよいですか。
おかげで、これは私を狂わせています!