问题标签 [generic-collections]
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# - 有人知道一个好的 LinkedDictionary/Hashed LinkedList 吗?
我需要一个介于字典和 LinkedList 之间的通用集合。我希望能够:
- 按键访问元素
- 访问上一个和下一个元素
我查看了提供的通用集合以及专门的集合。我还没有真正找到我要找的东西,最接近的集合是 OrderedDictionary 和 SortedDictionary。
一个快速的谷歌发现了以下潜在的集合:
- LinkedDictionary - http://www.glennslayden.com/code/c-sharp/linked-dictionary
- C5 集合(支持散列链表) - https://github.com/setoft/C5/
每个似乎都非常合适。但是,我想问问 SO 的大师们他们的建议是什么。
那么大师们,你们有什么建议呢?您是否使用这些集合或其他集合来完成这些或相关目标?有什么明显的东西是我应该看的,但我只是想念吗?
c# - List接口:从Java到C#
这些天我是一名学习 C# 的 Java 程序员。
通常在 Java 中使用列表时,最好针对其接口进行编程,以便在实现之间切换:
C# 呢?是否存在类似的方法?有人可以给我看一个例子吗?从现在开始我正在以这种方式构建一个列表,但我不认为 List 是一个接口:
c# - 城市而不是 id 似乎出现在下拉列表值上
加载下拉列表时出现问题,下拉列表值上显示城市而不是 id。问题是什么?
dynamic - 在 .net4 中使用带有泛型集合的动态时无法理解异常
请检查以下代码:
这是“动态”机制中的错误吗?
c# - C#:在列表中查找类字段
我有以下代码:
如果我想在 var1 = 20 的 List 中找到对象的索引 #,我该怎么做(在这种情况下,var1 = 20 在 myList[1] 中)?
我尝试使用 Contain() 但出现错误。
在相关主题上,假设 var1 的每个值都是唯一的,如果我使用以 var1 作为键的字典会不会更快。谢谢。
java - 当泛型类型信息不可用时,如何避免编译器警告?
我正在使用 SpringRestTemplate
对 REST Web 服务进行调用。其中一个调用是返回特定类型的对象列表。这些RestTemplate
方法要求提供类参数以指示预期的返回类型。
显然,这不会编译。当您提供这样的类型参数时,您无法获得静态.class
属性。当我删除类型参数时,代码会编译,但这会产生rawtypes
编译器警告。
我的问题很简单。我是坚持抑制编译器警告还是有更简洁的方法来编写代码?
c# - 一个对象池包含不同的派生类
简洁版本:
我将如何创建一个对象池来存储从同一个基类派生的不同类型的类?
有关预期用法的示例,请参见下文。
长版:
我有一个类BaseComponent
,有许多派生类Child1Component
,例如Child2Component
.
我还有另一个对象表示这些组件的集合,它们的属性设置为特定值。我称之为 an EntityTemplate
,因为实体是由一组组件及其值定义的。
我想基于实体组件创建实体。为此,目前我得到了适当的EntityTemplate
,循环遍历它的不同组件并调用Clone
我在每个子类上定义的方法。我也在Copy
那里定义了一个方法,这可能很有用。
当实体过期时,我想将其组件添加到对象池中,然后当我接下来需要创建实体时,我将获取实体模板,并且对于每个组件,我将从池中获取相同类型的一个并将其属性设置为等于 中的属性EntityTemplate
,如下所示:
c# - 有没有更好的方法来编写一个接受多种类型的 C# 函数?
一些上下文:我想编写一个类,其中将事物添加到集合的主要方法是通过名为 Add (或类似名称)的方法(或方法)。所以看起来最好的签名是 params object[]。在内部,这个函数必须切换/if-else 它可以接受的所有类型。所以,最初它可以接受这个 object[] 数组,但我可能希望它也接受 object[][] 和 object[][][] 等,然后方法/函数可以在内部变平,所以用户在调用此函数之前不需要这样做。
所以...
是否可以编写一个函数来接受一种对象的各种级别的列表类型? 作为一个附带问题,在设计类的接口时,接受(编辑:从这个问题中脱颖而出,因为已经有足够的事情发生了。)object[]
orIEnumerable<object>
或哪个更好params object[]
?
例如,我正在考虑一个函数,它同时接受/全部object[]
, IEumerable<object>
,并可能进一步嵌套,例如:IEnumerable<IEnumerable<object>>
, object[][]
(以及 on、on 和 on 等)。
这可能吗?
visual-studio-2010 - 复制列表中的对象
我的第一个问题时间到了!我想让大家知道我对编程非常业余,而且我可能并不完全理解我将要使用的术语。
我正在制作一个程序,该程序从 Oracle 查询中获取结果并将它们显示在 DataGridView 中以进行操作。数据将与拼版软件一起使用,我需要能够“拆分”和“连接”行以进行复制。
数据来自我的服务层,作为一个名为 CheckOrderLine 的通用集合,其中包含 20 多个包含所有提取数据的对象。
我正在寻找一种方法来从我的绑定源 _bs 中获取当前的 CheckOrderLine,并使用所有相同的值创建一个新的 CheckOrderLine。我相信这被称为深拷贝。
我了解到我可以使用以下代码来实现我的目标,但我确信有更好的方法来做到这一点:
等等。
所以我想我的问题是:有没有办法遍历 CheckOrderLine 并为我的新对象中的每个属性设置值?另外,我前进的方向有什么可怕的错误吗?我在 Web 上看到过有关在我的 CheckOrderLine 类中使用 ICloneable 的事情,但现在这超出了我的想象。
编辑:有错误的 VS 标签。我修正了一些词汇。
c# - 如何将项目添加到通用集合?
鉴于:
exceptc
不是类型<T>
。
那么如何将项目添加到通用集合中?
我尝试过:
但我不使用它,因为没有人可以打电话DoStuff
:
因为一些关于协方差的东西,而.NET 没有意识到它Customer
来自Human
: