jjzjj

Collections

全部标签

c# - 实现 IEnumerable 的类实例的技术正确术语是什么?

我们称这样的实例为“集合”吗?一个“可枚举的”?或者是其他东西?我问我的两个主要目标是:让其他开发人员理解,而不必解释该类实现了IEnumerable。技术上正确和精确。 最佳答案 从技术上讲,我会通知开发人员它实现了IEnumerable。说任何其他信息都不够有用。任何了解IEnumerable的人都会立即了解您的类的功能。任何不了解的人都不会理解您所描述的内容。 关于c#-实现IEnumerable的类实例的技术正确术语是什么?,我们在StackOverflow上找到一个类似的问题:

c# - 从 IEnumerable<DateTime> 获取最早的日期

我有一个IEnumerable里面有很多日期。我如何从该集合中获得最早的日期?谢谢!戴夫 最佳答案 您可以使用LINQ使用Enumerable.Min立即执行此操作.DateTimeminDate=dateCollection.Min();自DateTime工具IComparable,Enumerable.Min将使用DateTime.CompareTo找到最小值DateTime在集合中。 关于c#-从IEnumerable获取最早的日期,我们在StackOverflow上找到一个类似的

c# - 如何反向遍历 C# 集合?

是否可以使用foreach语句以相反的顺序遍历Collections对象?如果不是foreach语句,还有别的方法吗? 最佳答案 您可以向后使用普通的for循环,如下所示:for(inti=collection.Count-1;i>=0;i--){varcurrent=collection[i];//Dothings}您还可以使用LINQ:foreach(varcurrentincollection.Reverse()){//Dothings}但是,普通的for循环可能会快一点。 关于c

c# - 从 C# List<T> 中删除项目是否会保留其他项目的订单?

最近,我写了很多看起来像这样的代码:ListmyList=newList();...for(inti=0;i我只是变得有点偏执,也许List在删除时不保留对象顺序。我不太了解C#规范,无法确定。有人可以验证我是不是在找这种模式的麻烦吗?编辑:也许我应该澄清一下,上面是一个非常简化的例子,如果需要删除该项目会发生更多事情,所以我不认为List.RemoveAll()在这里非常适用。虽然这是一个很好的功能。我在if()中添加了评论上面的block特别提到了这一点。 最佳答案 List添加、插入和删除时将始终保持相对顺序;如果没有,它就不

c# - 在 C# 中枚举集合的子集?

有没有一种在C#中仅枚举Collection的子集的好方法?也就是说,我有一个包含大量对象(比如1000)的集合,但我只想枚举250-340个元素。有没有一种好的方法可以为集合的子集获取枚举器,而无需使用另一个集合?编辑:应该提到这是使用.NETFramework2.0。 最佳答案 尝试以下操作varcol=GetTheCollection();varsubset=col.Skip(250).Take(90);或者更一般的publicstaticIEnumerableGetRange(thisIEnumerablesource,in

c# - DataGridView 选中行上下移动

如何让DataGridView(DGV)中的选定行向上或向下移动。我以前用ListView做过这个。不幸的是,对我来说,更换DGV不是一个选项(诅咒)。顺便说一下,DGV数据源是一个通用集合。DGV侧面有两个按钮,是的,向上和向下。谁能帮我指出正确的方向。我确实有用于ListView的代码,如果它有帮助的话(它对我没有帮助)。 最佳答案 只是为了扩展Yoopergeek的回答,这就是我所拥有的。我没有使用数据源(数据在表单关闭时被删除到注册表,并在表单加载时重新加载)此示例将防止行从网格中移出并丢失,并重新选择该人所在的单元格。为了

c# - 为什么 IList 不是延迟执行?

据我了解,IEnumerable和IQueryable是延迟执行。为什么IList也支持延迟执行没有好处? 最佳答案 我想得越久,就越怀疑“延迟执行”的整个想法是否真的具有教学值(value)。我会通过否定来回答你的问题。IEnumerable,IQueryable和IList不以任何方式表示“延迟”或“急切”的计算。相反,接口(interface)代表提供服务的能力。IEnumerable表示服务“我可以一次提供一个序列,可能是无限的T类型的项目”。IQueryable表示服务“我可以表示对数据源的查询,并按需提供该查询的结果”。

c# - 无法将 null 添加到可空列表

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:AddingnulltoaListcastasanIListthrowinganexception.ListlistONullables=newList();IListdegenericed=listONullables;//ThisworksfinelistONullables.Add(null);//Runtimeexception://"Thevalue""isnotoftype"System.Nullable`1[System.Int32]"//andcannotbeusedinthisgeneric

c# - 在 WinForms 中更新 BindingSource 不会更新数据源集合

我想在DataGridView中显示自定义集合在Windows窗体应用程序中。此自定义集合实现了ICollection,和IEnumerable.我已经设置了一个BindingSource,使用集合作为.DataSource属性。DataGridView设置为使用我的BindingSource因为它是数据源。当我使用BindingSource.Add()将新项目添加到集合中时方法,DataGridView使用新项目正确更新。BindingSource另一方面,DataSource不会:MyCustomCollectionmyCollection=newMyCustomCollectio

c# - 为什么在添加到集合时不为所有对象调用 Equals()

我有一个类型,我将其用作IDictionary中的键。类型如下publicclassEmployee{publicstringName{get;set;}publicintID{get;set;}publicoverrideboolEquals(objectobj){Employeeemp=objasEmployee;if(emp!=null)returnemp.Name.Equals(this.Name);returnfalse;}publicoverrideintGetHashCode(){returnthis.Name.GetHashCode();}}现在我已经创建了一个字典,如