问题标签 [custom-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 投票
3 回答
23328 浏览

c# - 使用 IEnumerable、ICollection 和 IList 的自定义集合

我需要设计自己的自定义GenericCollection类。现在我有很多选项可以使用IEnumerableICollection和派生它IList,稍后会提供一些附加功能。

我有点困惑,如果我一起去,IEnumerable<T>我可能需要声明对象以实际保存集合,就像在这种情况下一样_list

但是如果我使用ICollection<T>or IList<T>,我不需要声明List对象,因为它是隐式可用的。

这两种方法在性能方面有什么区别?

在哪种情况下,每一个都是首选,尤其是在设计您自己的系列时。我对性能良好的轻量级系列感兴趣。我认为这可以通过使用来实现,IEnumerable<T>但是究竟有什么强有力的理由去使用它呢?

我已经查看了一些现有的帖子,但没有一个提供所需的信息。

返回'IList' vs 'ICollection' vs 'Collection'

0 投票
1 回答
524 浏览

c# - 如何使用泛型集合实现自定义类型安全集合?

我使用了从类派生的强类型集合,CollectionBase现在我想将其更改为从类型安全的泛型集合继承。有些建议继承自List<T>,有些建议使用Collection<T>。我想做的是:

1)我有一个自定义类,我正在创建一个仅包含该自定义类实例的集合。

2) 我有一些我希望自定义集合类具有的属性和方法。例如,它应该有一个Id属性,或者它应该有一个IsBlahBlah()方法。

我应该如何处理这个?当我从CollectionBase类派生时,我使用该InnerList属性来访问元素。如果我选择使用,我应该使用该Items物业Collection<T>吗?

正在做类似的事情:

正确的方式?它会在不干扰 中的方法的情况下开箱即用地正常工作Collection<T>吗?

额外问题:当我在 Google 上搜索“强类型集合”时,它总是显示包含CollectionBase该类的结果。强类型集合和类型安全集合有什么区别?

0 投票
1 回答
2488 浏览

oracle - 将包中定义的 UDT 作为参数传递给 Oracle 中的存储过程

创建一个包来定义一个自定义集合和一个将此自定义集合作为输入参数的存储过程。如何从 c# 调用此过程?

这是包裹:

这是 customCollectionType 的工厂实现:

这是电话:

.Net 中的错误是:

"OCI-22303: 类型 \"USER_NAME\".\"CUSTOMCOLLECTIONTYPE\" 未找到"

0 投票
1 回答
291 浏览

wcf - 通过 WCF 服务传递时自定义集合为空

我们有一些自定义集合,例如:

我们在如下对象中使用它们:

现在我们正在调用 WCF 服务,传递包含这些类型列表的对象。列表在服务中始终为空。

我很确定这与序列化或类似的事情有关。

需要对现有对象进行最少更改才能使其工作的最简单的解决方案是什么?

0 投票
1 回答
288 浏览

nhibernate - NHibernate 自定义集合不会补水

我有一个自定义集合,它包装了一个 .net HashSet 并实现了 ICollection,然后我将其映射为一个集合。我这样做是希望 NHib 能够像使用 .net HashSet 时那样使用 ICollection 接口,而不是 NHib 在内部使用的 Iesi 接口。

保存到数据库似乎工作正常,但我在补水时遇到的异常让我知道我需要做更多:

这些文章经常被引用为处理自定义集合处理的方法,但链接已损坏,我可以看到更多关于使用扩展查询集合的内容。

我必须使用 IUserCollectionType 吗?如果是这样,任何人都有显示示例实现的链接?我在当前的代码/映射中有什么愚蠢的事情吗?

什么是好的解决方案?

CODE(父实体片段)

CODE(自定义集合片段)

MAPPING(hbm值类型集合)

* 更新 *

所以在我的对象设置器中执行以下操作,但是 - 我可以做得更好吗?

0 投票
1 回答
763 浏览

wpf - 自定义列表 WPF 中的自定义对象

我有一个名为日历的视图模型。

在 Calendar 中有一个 CalendarDaySquare 对象列表。它们显示在作为统一网格(来自 ItemsPanelTemplate)的 ItemsControl 中。

在这些 calendarDaySquares 中的每一个上,我想用事件集合(CalEvent 对象)填充它

是同样的事情,我只是尝试使用 ObservableCollection b/c 我一直被难住了。

这是我的 xaml:

我希望我已经粘贴了最新的(我整天都在做这个,所以这正是我目前在 VS 中所得到的......悲伤的脸)

0 投票
1 回答
275 浏览

c# - 创建集合的自定义用户集合

我需要创建一个泛型集合的泛型集合,它应该包含一个泛型类。我很努力,但没有找到任何答案。这就是我实现的集合的样子:https ://github.com/Infatum/PMC-Data-Model/blob/master/WTF/Position.cs这是泛型类 Point 的位置集合。我需要创建一个名为 Matrix 的 Positions 索引集合、名为 Container 的 Matrix 索引集合和一个名为 Containers 的 Container 索引集合。请帮我!

问题:类型“T”不能用作泛型类型或方法“Position”中的类型参数“T”。没有从“T”到“WTF.Point”的隐式引用转换

这实际上是给我的任务:https ://docs.google.com/document/d/1ZYXXAjrh0OYNLUuFy0HT6ZuAzISIecE73cgA4QoRDlc/edit#heading=h.nwbuqfwpq3gk

0 投票
0 回答
144 浏览

java - 仅使用迭代器实现集合 .add 的方法

我必须只使用迭代器来实现所有的收集方法。

我的迭代器:

数据,它是我自己的集合中的arraylist。

例如,方法大小在我的代码中实现:

但我不知道,如何实现方法.add

请帮我解决这个问题。

0 投票
1 回答
305 浏览

c# - 使用 DataContractSerializer 反序列化后,Collection 变为只读

这应该很简单,但是在使用DataContractSerializer其中的所有自定义集合对我的业务对象进行反序列化之后,它们变成了只读的。

确切地说,我试图在反序列化后通过交换集合内的项目来操纵集合,但这会引发异常,说 Collection 是只读的。但是,在序列化之前,一切都很好。

mscorlib.dll 中出现“System.NotSupportedException”类型的未处理异常附加信息:集合是只读的。

这就是我装饰我的自定义集合类的方式。

这就是我装饰我的业务对象类的方式。

序列化和反序列化一段代码:

0 投票
2 回答
1302 浏览

ios - swift中的自定义集合:这是正确的方法吗?

我学得很快。我想使用一个自定义类来循环[能够 for...in 循环],如 Array。以下是迄今为止我尝试过的给定示例代码。有问题的课程是“GuestManager”,它持有客人的私人集合 [Guest 类的对象]

我不想创建符合 GeneratorType 和 SequenceType 协议的单独类。相反,我创建了一个符合这两种协议的类。

以下是我的一些问题:

  1. 我想知道这是否是拥有自定义集合类型的正确方法?

  2. 我们可以使用下标作为一种基于属性执行搜索的方法,例如上面示例代码中的“subscript(aGuestId gID: String)”吗?

  3. 从上面示例代码中的 next() 函数实现的代码中可以清楚地看出,当迭代结束时重置“nextIndex”。如何处理我们在 for...in 循环中使用 break 语句的情况,如下所示:

    在第二个 for 循环中,代码在获取第一个 Element [在这种情况下为来宾对象] 后中断。随后的 for 循环将从集合中的索引 1 开始,而不是从 0 开始。无论如何要处理这种中断情况,以便对于每个后续的 for 循环,索引始终设置为 0?

谢谢

编辑:似乎可以使用以下代码修复“nextIndex”重置问题[在 GuestManager 类中添加]用于 generate() 方法实现