问题标签 [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 投票
1 回答
23555 浏览

c# - 如何正确使用 IReadOnlyDictionary?

来自msdn

表示键/值对的通用只读集合。

但是请考虑以下内容:

我可以轻松地IReadOnlyDictionary转换为Dictionary(任何人都可以)并更改它,同时List有很好的AsReadOnly方法。

问题:如何正确使用IReadOnlyDictionary公开的只读字典?

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# - How can I access a element of a IReadOnlyCollection through it index?

I am working with selenium and I am using the function FindElements so I am getting a element that implements IReadOnlyCollection interface. I want to iterate through the list but it seems that IReadOnlyCollection doesnt have any method like Get(int index) or a implementation of the operation [].

I want to avoid transforming the result to a List or to an array since I just want to access the elements to read them.

Currently I don't want to use a foreach since I need to manage an index so I can add those elements to an another array.

This is what I want to do:

Thanks

0 投票
2 回答
1368 浏览

c# - 编写 ReadOnlyCollection流式传输

我使用包含几个魔术字节序列的二进制格式。我想将它们作为不可变的静态成员保存在静态类中。

ReadOnlyCollection<byte>(从 中返回Array.AsReadOnly())防止外部代码更改值,不像byte[].

但是现在,我无法Header通过输出stream.Write(),因为它需要byte[]

有没有优雅的写法Header?还是我必须编写一个循环并将字节一个一个地输入流中?

0 投票
3 回答
1053 浏览

c# - 只读列表列表c#

一般来说,我正在制作的程序涉及存储少量可以分类的条目(在任何给定时间可能少于 30 个)。我希望允许看到这些条目,但不要在课堂外使用它们进行更改。我创建了一个可以修改的名为 Entry 的类和另一个名为 ReadOnlyEntry 的类,它是一个 Entry 对象的包装器。组织这些 Entry 对象的最简单方法似乎是创建一个List<List<Entry>>,其中每个List<Entry>都是一个类别。但随后以只读方式公开这些数据变得混乱和复杂。我意识到我必须拥有以下每种类型的一个对象:

列表中的最后一项将公开。第一个让我更改条目,第二个让我添加或删除条目,第三个让我添加或删除类别。每当数据发生变化时,我都必须保持这些包装器的准确性。这对我来说似乎很复杂,所以我想知道是否有更好的方法来处理这个问题。

编辑 1:澄清一下,我知道如何使用 List.asReadOnly(),我上面建议做的事情将解决我的问题。我只是有兴趣听到更好的解决方案。让我给你一些代码。

0 投票
3 回答
14060 浏览

c# - 转换字典> 到只读字典>

我有一本字典如下:

现在我希望能够构造一个只读字典,其值类型也是只读的,如下所示:

由于TValue类型的差异,最后一行显然会导致编译时错误。

使用 aList<TValue>也是必要的,因为原始字典是从外部源以编程方式填充的。

有没有一种简单的方法来执行这种转换?

0 投票
4 回答
8417 浏览

c# - C# 哈希集只读解决方法

这是此示例代码:

这是一个测试代码:

我的问题是:

“Real_ReadonlyHashSet”属性是否有更好的解决方案?

微软有一天会为 HashSet<T> 实现“AsReadOnly”方法吗?

0 投票
1 回答
1578 浏览

c# - 我应该使用 C# 中的哪些只读、保留顺序的集合来支持枚举?

我对数据结构只有两个要求:

  • 只读,
  • 保留顺序(我想始终按特定顺序枚举它)。

我知道这IReadOnlyList确实保持秩序。我可以使用它,但我不需要索引。这意味着我应该使用IReadOnlyCollection. 不幸的是,我找不到它保持秩序的信息。

你知道有没有?

0 投票
4 回答
94 浏览

c# - 有没有一种简单的方法可以拥有一个无法添加但可以修改其值的类字典对象?

假设我有一个Composite由仪器和重量字典构成的类。

}

此类向客户端公开,我希望客户端能够修改 中现有键的值Underlyings,但不向Underlyings.

然后制作UnderlyingsaReadOnlyDictionary将不起作用,因为客户端代码将无法修改现有键的值。所以我的解决方案是从这个答案中获取字典的包装器并修改设置器以便TValue IDictionary<TKey, TValue>.this[TKey key]可以修改现有值。但这似乎是一个愚蠢的解决方案 - 有没有比编写包装类更简单的方法来拥有一个字典,该字典具有可修改的现有键值对,但不能添加新的键值对?为这个非常简单的问题道歉。