问题标签 [icollection]
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# - 创建 IEnumerable 的最简单和最紧凑的方法是什么或 ICollection?
因此,很多时候我们都有一个接受 IEnumerable 或 ICollection 作为参数的函数。如果我们有单个项目,但没有集合来保存它们,我们必须在将它们传递给函数之前创建一个集合,例如:
我总是创建一个数组或列表,就像我在上一个示例中所做的那样。但我想知道,有没有更优雅的方法来创建所需的 IEnumerable 或 ICollection?
如果有人能做到这一点,那就太酷了:
并且编译器将创建满足 IEnumerable 或 ICollection 需求的最抽象的可能集合(取决于函数接受哪一个)。
无论如何,如何将 o1、o2 和 o3 传递给 IEnumerable 或 ICollection 参数?
c# - ICollection / ICollection歧义问题
只想对语法 sygar进行简单的扩展:
当我处理一些收藏时,它工作得很好,但是当我和其他人一起工作时,我得到了
以下方法或属性之间的调用不明确:“PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.IList)”和“PowerOn.ExtensionsBasic.IsNotEmpty(System.Collections.Generic.ICollection)”
这个问题有什么规范的解决方案吗?
不,我不想在调用此方法之前执行强制转换;)
c# - ICollection 与 ICollection- ICollection 之间的歧义.Count 和 ICollection.Count
注意:这与其他问题相似,但并不完全相同
我已经实现了一个IBusinessCollection
接口。它来自两者ICollection<T>
,以及旧的非泛型ICollection
。我宁愿只转储旧的 busted ICollection
,但我正在使用带有 CollectionView 的 WPF 数据绑定,它希望我实现旧的 busted 非泛型IList
:-(
无论如何,接口看起来像这样:
由于使用依赖注入,我IBusinessCollection<T>
使用它们的接口而不是具体类型传递类型的对象,所以我有这样的东西:
当我尝试调用此代码时,出现错误,如下所示:
有 3 种方法可以编译,但都很难看。
将类转换为它的具体实现(我可能不知道)
将类显式转换为
ICollection
将类显式转换为
ICollection<T>
是否有第四个选项根本不需要我投射东西?我可以做任何我需要的改变IBusinessCollection<T>
c# - 在 C# 中以良好格式将 ICollection 转换为字符串
我有一个清单:
如果想获得我的列表的字符串表示。但是代码list.ToString()
返回"System.Collections.Generic.List'1[System.Int32]"
我正在寻找这样的标准方法:
并得到"[1, 2, 3, 4, 5]"
是否有标准的 .NET 方法以良好的字符串格式表示 ICollection?
c# - T 上课?添加范围 ICollection?
我尝试做静态类,添加到 collection 但我遇到了一些我似乎无法克服的问题。这就是我得到的方法,所以我可以在方法中传递一个 ICollection?原因T就是说不能解决。
然后我想知道有没有办法在 collection 上做 AddRange?
我在想这样的事情,但也许我已经疯了?
c# - 为什么 ICollection 索引在实例化时不起作用?
当我们将参数声明为 ICollection 并将对象实例化为 List 时,为什么我们不能检索索引?IE
然后,这将不起作用:
我缺少什么?
[是的,我们可以使用 List 作为声明,它可以工作,但我不想声明为列表,例如:
]
collections - 是否可以在 IEnumerable 上使用 Microsoft.VisualStudio.QualityTools.UnitTesting.CollectionAssert?
我有一个测试场景,我想检查两个集合是否相等。我找到了这个类Microsoft.VisualStudio.QualityTools.UnitTesting.CollectionAssert
,但它只适用于ICollection<T>
. 由于我正在测试 Entity Framework 的存储库,因此需要比较IObjectSet<T>
s,这不会 -IObjectSet<T>
不会实现ICollection<T>
.
有什么方法可以使用这个类来比较集合,还是我必须创建自己的实现?(为什么微软团队不让这个类使用IEnumerable<T>
,因为那是集合的“基本接口”?)
编辑:这是我的测试代码:
最后一行的CollectionAssert.AreEqual
调用失败,指出索引 0 处的元素不相等。我究竟做错了什么?
c# - 将 LinqToSql 表绑定到Repeater
我有一个从数据库中检索数据的类。
我正在通过上面的类绑定来自 db 的数据。
但结果是 IEnumerable 但我需要像 DataSet 这样的东西。我收到此错误:
我找到了关于这个错误的很好的解释,它是:
底层 DataSource 必须支持 ICollection 接口才能使网格执行自动分页。ICollection 需要一个类来实现 Count 属性。ArrayList 和 DataView 都支持该接口,因此您可以将它们用作 DataSources。其他类仅支持 IEnumerable 接口。这允许它们用作数据源,但不能用作分页数据源。SqlDataReader 就是此类的一个示例。参考
但我需要将转发器与 linq 的结果绑定到 sql 表。我应该怎么办?
.net - 如何使用 CollectionAssert(和 Linq?)来查找一个属性的所有值,是否相同?
这是我今天问的一个问题的扩展......它强调了使用 CollectionAssert 来帮助测试集合(我从来不知道)。
我有一个ICollection<Foo> foos;
This 有一个名为 Status 的属性,为了简单起见,它是一个 int 或 byte(无论你的船漂浮什么<--看看我在那里做了什么?!/me 隐藏)。
那么,如何使用 CollectionAssert 来查看返回的 ICollection 中的所有项目是否都具有相同的属性值?
.net - 将集合与另一个(从架构上讲)进行比较的更好方法是什么?
这是我目前最喜欢的架构方法的示例:
这种 CollectionComparer 抽象类方法是否被认为是对应用于集合的 object.Equals() 等效项进行集合比较的良好实践?