Tag: list

为什么在构造上提供足够的尺寸时列表插入失败?

如果我们有以下变量声明: List list = new List(5); 为什么这样: list.insert(2, 3); 失败,出现以下错误: Index must be within the bounds of the List. 提供初始尺寸有什么意义?

替换对象列表中的对象

在C#中,如果我有一个List ,并且我有一个T类型的对象,我如何用类型T的对象替换List的特定项? 这是我尝试过的: List customListItems = new List(); CustomListItem customListItem1 = new CustomListItem() { name = “Item 1”, date = DateTime.MinValue}; CustomListItem customListItem2 = new CustomListItem() { name = “Item 2”, date = DateTime.MinValue }; CustomListItem customListItem3 = new CustomListItem() { name = “Item 3”, date = DateTime.MinValue }; customListItems.Add(customListItem1); customListItems.Add(customListItem2); customListItems.Add(customListItem3); CustomListItem newCustomListItem = […]

在C#中的List 上运行Dijkstra的算法

我在C#中有一个Point类型列表。 我想在这个点列表上运行Dijkstra的算法 ,其中列表中的第一个条目是起始位置。 有没有办法使用现有的库? 如果这样的库不存在,有没有办法用x和y坐标计算两点之间的距离。 例如,计算点​​A(x坐标= 2,y坐标= 4)和点B((x坐标= 9,y坐标= 7)之间的距离。 我使用ZedGraph库来构建图形。

迭代列表列表?

我有来自某个来源的项目(来自其他地方): public class ItemsFromSource{ public ItemsFromSource(string name){ this.SourceName = name; Items = new List(); } public string SourceName; public List Items; } 现在在MyClass中,我有来自多个来源的项目(从其他地方填充): public class MyClass{ public MyClass(){ } public List BunchOfItems; } 有没有一种简单的方法可以一次遍历BunchOfItems中所有ItemsFromSources中的所有Items? 即,像: foreach(IItem i in BunchOfItems.AllItems()){ // do something with i } 而不是做 foreach(ItemsFromSource ifs in BunchOffItems){ foreach(IItem i in ifs){ //do […]

当找不到值时,C#List .BinarySearch返回值

如果项目不存在,我对List的BinarySearch方法感到困惑。 我有 List theList = {1, 3, 5, …}. 如预期的那样, theList.BInarySearch(0)返回0,而theList.BInarySearch(3)返回1。 但是, theList.BinarySearch(1)返回-2 ,而不是-1,正如我所期望的那样。 MSDN手册说:“返回值:如果找到项目,则排序列表中项目的从零开始的索引;否则,是负数,它是下一个元素的索引的按位补码,大于项目或,如果没有更大的元素,则为Count的按位补码。“ 一个“按位补码”? 我在这里错过了什么,为什么theList.BinarySearch(1) != -1 ?

有没有办法在Visual Studio中自动生成equals和hashcode方法

在Java中,如果要通过remove()方法从genericsCollection中正确删除对象,则必须实现equals(Object o)和remove()方法,这些方法可以在Eclipse中自动生成。 该方法的示例如下所示—>。 如何在C#中自动生成该方法(Visual Studio,我在VS2013上)? 也许没有必要使List.Remove()方法正常工作? 如果不能自动引用Equals方法的参考方式? 我的意思是它应该是什么样子。 Equals()方法是否甚至在List.Remove()使用,如果可以的话,你可以告诉我如何比较同一个对象(内存中的相同地址Equals()应该如何实现Equals()以返回true @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((centerPanel == null) ? 0 : centerPanel.hashCode()); result = prime * result + ((lowerPanel == null) ? 0 : lowerPanel.hashCode()); return result; } @Override public boolean […]

LINQ从列表中的列表中获取唯一项

我有一个MyObject类型的List ,其定义如下: class MyObject { public string ListName { get; set; } public IEnumerable ObjectList { get; set;} } 给定一个MyObject类型的List ,使用LINQ我应该使用什么表达式来获取所有不同的OtherObject ? 我打算做的是循环每个MyObject并从ObjectList属性中获取不同的OtherObject ,但是我需要在列表中获得不同的。 请注意,如果: MyObject[0].Objectlist[0] == ‘ItemA’和MyObject[1].Objectlist[0] == ‘ItemA’它仍将返回ItemA的单个实例。 此代码仅是一种表示forms。 顺便说一句,这不是我访问我的对象的方式。

如何从列表中找到倒数第二个元素?

我有一个List如: List lsRelation = new List{“99″,”86″,”111″,”105”}. 现在我想找到数字111,它是倒数第二个字符串。 所以我试过了: String strSecondLast=lsrelation.Last() – 2; 这不起作用。 那么如何使用Last()找到List的倒数第二个元素。

为什么IList 的功能少于List ?

要使用如ConvertAll()这样的强大function,我必须将IList转换为List ,这很痛苦。

按时间排序日期时间列表

我有一个日期时间列表,如果可能的话,我想使用lambda表达式对其进行排序。 我的列表: 6/19/1979 8:00:00 AM 5/5/1980 7:00:00 PM 10/20/1982 5:00:00 PM 1/4/1984 6:00:00 AM 输出应按以下顺序排列: 1/4/1984 6:00:00 AM 6/19/1979 8:00:00 AM 10/20/1982 5:00:00 PM 5/5/1980 7:00:00 PM