問題タブ [readonly-collection]

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 投票する
0 に答える
458 参照

oracle - 複数のデータベースリンクを使用してクエリを実行すると、jdbc oracle読み取り専用アクセスエラーが発生する

3つのOracleデータベースdb1、db2、db3に3人の読み取り専用ユーザーがいて、db1のpl/sqlにログオンすると、クエリを実行できます

それから私はjdbcコードを試しました

ORA-16000 データベース オープン読み取り専用アクセス エラーが発生しました

それから私は次のようなあらゆる種類のことを試しました:

私が考えられることは何でも、すべて同じエラーが発生しました。

PL/SQLで使用されるJDBCとOracleクライアントの違いは何ですか? どうすればこの仕事を得ることができますか?

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

java - 「? extends ParentClass」は読み取り専用になりますか?

次のコード Java では、 list を作成しましたnums。宣言中に別のリストを割り当てることができます。ただし、 以外の新しいアイテムは追加できませんnull。それで、それnumsは読み取り専用であることを意味しますか?なんで?そのリストに新しいアイテムを追加することは可能ですか?

私はこのリンクを通過しました。正確な理由はわかりません。

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

c# - インデックスを介して IReadOnlyCollection の要素にアクセスするにはどうすればよいですか?

私はセレンを使用しており、FindElements 関数を使用しているため、IReadOnlyCollection インターフェイスを実装する要素を取得しています。リストを繰り返し処理したいのですが、IReadOnlyCollection には Get(int index) のようなメソッドや [] 操作の実装がないようです。

要素にアクセスしてそれらを読み取りたいだけなので、結果をリストまたは配列に変換することは避けたいと思います。

これらの要素を別の配列に追加できるようにインデックスを管理する必要があるため、現在は foreach を使用したくありません。

これは私がやりたいことです:

ありがとう

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

c# - ReadOnlyCollection の書き込みストリームへ

私は、いくつかのマジック バイト シーケンスを含むバイナリ形式を使用しています。それらを不変の静的メンバーとして静的クラスに保持したい。

ReadOnlyCollection<byte>( から返されるArray.AsReadOnly()) は、 とは異なり、外部コードが値を変更するのを防ぎますbyte[]

しかし、今では、次のものが必要なため、Header経由で出力できません。stream.Write()byte[]

を書くエレガントな方法はありHeaderますか? または、ループを記述して、バイトを 1 つずつストリームにフィードする必要がありますか?

0 投票する
3 に答える
1053 参照

c# - リストC#の読み取り専用リスト

大まかに言えば、私が作成しているプログラムには、分類可能な少数のエントリ (おそらく常に 30 未満) の格納が含まれます。これらのエントリを表示できるようにしたいのですが、それらを使用してクラスの外部から変更されないようにしたいと考えています。変更可能な Entry というクラスと、Entry オブジェクトのラッパーである ReadOnlyEntry という別のクラスを作成しました。これらの Entry オブジェクトを整理する最も簡単な方法はList<List<Entry>>、それぞれList<Entry>がカテゴリである を作成することです。しかし、そのデータを読み取り専用で公開することは、面倒で複雑になりました。次の各タイプのオブジェクトを 1 つずつ用意する必要があることに気付きました。

リストの最後の項目はパブリックとして公開されます。1 つ目ではエントリを変更でき、2 つ目ではエントリを追加または削除でき、3 つ目ではカテゴリを追加または削除できます。データが変更されるたびに、これらのラッパーを正確に保つ必要があります。これは私には複雑に思えるので、これを処理する露骨に良い方法があるかどうか疑問に思っています。

編集 1: 明確にするために、私は List.asReadOnly() の使用方法を知っており、上記で提案したことは私の問題を解決します。より良い解決策を聞きたいだけです。コードを教えてください。

0 投票する
3 に答える
14060 参照

c# - 辞書の変換> ReadOnlyDictionary へ>

次のような辞書があります。

次のように、値の型も読み取り専用である読み取り専用辞書を作成できるようにしたいと考えています。

最後の行では、型の違いにより、明らかにコンパイル エラーが発生しTValueます。

List<TValue>元のディクショナリは外部ソースからプログラムによって入力されるため、a の使用も必要です。

この変換を実行する簡単な方法はありますか?

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

c# - C#ハッシュセット読み取り専用の回避策

このサンプルコードは次のとおりです。

そして、ここにテストコードがあります:

私の質問は次のとおり

です。「Real_ReadonlyHashSet」プロパティのより良い解決策はありますか?

Microsoft はいつか HashSet<T> に "AsReadOnly" メソッドを実装する予定ですか?

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

c# - 列挙をサポートするには、C# の読み取り専用で順序を保持するコレクションを使用する必要がありますか?

データ構造の要件は 2 つだけです。

  • 読み取り専用にする
  • 順序を保持します(常に特定の順序で列挙したい)。

IReadOnlyList私はそれが秩序を保つことを知っています。使用できますが、インデックス作成は必要ありません。これは、 を使用する必要があることを意味しますIReadOnlyCollection。残念ながら、秩序を保っているという情報は見つかりませんでした。

そうかどうか知っていますか?

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

c# - 追加することはできないが値を変更できる辞書のようなオブジェクトを持つ簡単な方法はありますか?

Composite楽器と重みの辞書から構築されたクラスがあるとします。

}

このクラスはクライアントに公開されます。クライアントが 内の既存のキーの値を変更できるようにしたいのですが、Underlyings新しいキーと値のペアを に追加することはできませんUnderlyings

クライアントコードが既存のキーの値を変更できないため、作成は機能しませんUnderlyingsしたがって、私の解決策は、この回答ReadOnlyDictionaryから辞書のラッパーを取得し、既存の値を変更できるようにセッターを変更することでした。しかし、これはばかげた解決策のように思えます。変更可能な既存のキーと値のペアを持つが、新しいキーと値のペアを追加できない辞書を持つラッパー クラスを作成するよりも簡単な方法はありますか? 非常に単純な質問で申し訳ありません。TValue IDictionary<TKey, TValue>.this[TKey key]