问题标签 [collectionbase]

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 回答
72 浏览

c# - 类字典的使用

出于 XML 序列化的目的,我不得不解散我正在使用的 Dictionary 集合。我写了一个非常简单的替代方案,它由 2 个类组成:

  • NameValueItem:包含名称(键)和值
  • NameValueCollection:派生自 CollectionBase 并维护 NameValueItem 对象的集合。

我已经包含了一些标准方法来帮助维护集合(添加、包含和删除)。所以就像大多数字典类型一样,名称(或键)是唯一的:

Add 使用此 Contains 方法来确定是否将给定项目包含到集合中:

作为沼泽标准,这段代码看起来简单明了,但事实证明它有点迟钝。有什么可以做的来提高它的性能吗?或者我可以使用的替代品?

我正在考虑创建一个派生自 HashSet 的 NameValueHashSet。

可选的...:

我有一个问题,我打算在单独的线程中提出,但我会留给你来决定你是否愿意解决这个问题。

我想向 NameValueCollection、Names 和 Values 添加 2 个属性,它们从 NameValueItem 对象的集合中返回一个字符串列表。相反,我将它们构建到 GetNames() 和 GetValues() 方法中,因为我必须构建集合(即创建一个列表(名称/值),遍历集合,将名称/值添加到列表并返回列表)。

这是一个更好的选择吗?在良好的编码实践、性能等方面?由于我对属性的想法一直是尽可能地将其剥离,因此应该只存在引用、算术等,没有任何层级的过程。如果是这样的话,那么它应该被内置到一个方法中。想法?

0 投票
2 回答
145 浏览

c# - C# 在堆栈溢出中获取/设置结果

我因使用索引的 get/set 部分而导致堆栈溢出。我尝试将值放入列表而不是 get 集中,但结果不佳。

主要的:

答: 我在我的 get/set 中循环。这是工作代码:

主要的:

0 投票
1 回答
2072 浏览

list - 使用 AutoMapper 对特定属性进行自定义转换

亲爱的互联网社区。

我需要将元素从一个对象映射到另一个对象。这些类是相同的(相同的类名,相同的属性),所以我认为我们应该尝试使用 AutoMapper。它似乎工作得很好,但我遇到了一个障碍:一个类有一个object类型属性,用作一种“通配符”容器。

我最初认为 AutoMapper 将能够识别实例的类型并按照指示执行适当的映射:

但是,这是输出:

如您所见,AutoMapper 很乐意复制属性的对象引用,Item而不是创建新的 ExternalService 实例。

我正在寻找一种方法来指示 AutoMapperItem基于自定义函数解析属性,如下所示:

任何提示将不胜感激!

-S

PS。我注意到存在一种ConvertUsing方法。不幸的是,这似乎用自定义显式映射替换了 AutoMapper 的“自动”部分,该映射需要实现 DTO 上所有属性的映射。我想偷懒,让 AutoMapper 只为那个单一属性做一个例外......

0 投票
1 回答
427 浏览

vb.net - Its not going to CollectionBase, Enumerator,Enumerable objects

I have a class in the code below, where besides equals and hash methods from IEqualityComparer which I use, I also want to implement add, remove, item, count from list and GetEnumerator (current,movenext,position). So I decided to use Inherits CollectionBase, IEnumerator and IEnumerable.

Anyway for instance when I use Add its not going to Add method in Part class, or when I do for each its not going to GetEnumerator move next. What is the problem?

This is the class:

and this is test code:

Edited:

PartsCollection which implements ICollection for list operations:

PartsEnumeration for for each loop:

Test code:

0 投票
0 回答
44 浏览

c# - 打开文件以填充collectionBase?

我正在为学校做一个小项目,我坚持认为他们希望我们使用收集库和文件处理......

我的问题是在启动应用程序时我需要做什么才能打开 .txt 文件并填充集合库?这可能吗?还是有其他方法可以让应用记住收藏库?

到目前为止我的代码:

0 投票
1 回答
69 浏览

c# - 尝试获取从 CollectionBase 继承的类的索引时收到以下错误:无法使用 [] 应用索引

我有一个继承自CollectionBase.

我有一种方法试图从索引中获取项目,但它不起作用。

在此处输入图像描述

CollectionBase 继承自IListICollectionIEnumerable。所以我认为它可以被索引。关于发生了什么的任何想法?

0 投票
1 回答
712 浏览

c# - How can LINQ actions be performed on a CollectionBase?

I am coding a C# forms application and I have the following collection for a PropertyGrid control:

How is the best way to perform LINQ queries on the above collection?

For example, how can I perform a .Where() action on the contents of the CollectionBase List?

0 投票
4 回答
1999 浏览

c# - 如何获取集合的父对象?

在 C# 中,如果我有一个包含集合的对象,是否可以检索包含该集合的对象?

这是一个例子:

TestObjectCollection集合继承自CollectionBase并且是 的集合TestObjects

这是一个示例实现:

  • ATestObject的创建名称为"Test1"
  • TestObject有一个名字的有"Test1"一个TestObjectCollectionTestObject一个名字的"Test2"

如果我有TestObject名字为 的"Test2",我怎样才能得到TestObject名字为 的"Test1"

谢谢

0 投票
1 回答
461 浏览

c# - 如何获取 CollectionBase 项目的列表?

在 C# 中,如果我有一个 T 类型的 CollectionBase,并且 CollectionBase 中的每个项目都可以有一个相同类型 T 的子 CollectionBase,那么如何在不使用递归函数的情况下获取所有 T 类型对象的列表?

LINQ 是否具有执行此操作的功能?

提前致谢。