【C# List 根据对象属性去重的四种方法对比】教程文章相关的互联网学习教程文章

c# – List.Contains上的索引超出界限【代码】

我正在使用的CMS中的一段代码(DNN)引发以下异常: “指数数组的边界之外.” 堆栈跟踪说:at System.Collections.Generic.List`1.Contains(T item)这个问题有时只会发生(我怀疑它与缓存破坏有关)并且只在生产中发生.这意味着我不能始终如一地重现它.我最感兴趣的是它会如何发生. 如何调用’Contains’触发索引超出界限? 额外信息 调用Contains的代码按以下方式工作(我简化了代码以使重要部分更具可读性.链接导致确切的类和亚麻布) ...

嵌套List的合并元素在唯一列表c#中【代码】

我有一个嵌套的List,例如:List<List<int>> myList = new List<List<int>>(); myList.Add(new List<int> { 2, 7, 3 }); myList.Add(new List<int> { 4, 6}); myList.Add(new List<int> { 2, 5, 1 }); myList.Add(new List<int> { 7, 0, 2 }); myList.Add(new List<int> { 4, 9 });我想合并至少具有共同元素的所有列表,以便输出将是List< List< int>>与元素:List<int> 2, 7, 3, 5, 1, 0 List<int> 4,6,9谢谢解决方法:您可以使用Has...

c# – List.Add(x). x是REFERENCE还是VALUE?【代码】

关于此数据和(伪)代码:List<myClass> Periods = new List<myClass>();// contents of Periods is: Periods[0] = "000"; Periods[1] = "111"; Periods[2] = "222"; Periods[3] = "REST"; // REST PERIOD Periods[4] = "444"; Periods[5] = "REST"; // REST PERIOD Periods[6] = "666"; Periods[7] = "777"; Periods[8] = "888";以下代码遍历列表,并在REST周期之间将多个列表元素拉出到单个列表中,并将这些列表添加到“列表列表”中...

c# – 将IEnumerable转换为IList返回null【代码】

我用一个返回的代码调用我的仓库IEnumerable<MyEntity>当我尝试实现结果时,它只有在我对结果执行.ToList()时才有效,但如果我尝试了as IList<MyEntity>它给出了null.它们不应该产生相同的结果吗?解决方法:那么你的枚举不是一个实现IList< T>的类型,比如List< T>或类似的.如果实例属于该类型,则将变量强制转换为指定的类型.它没有进行任何转换. ToList()实际上强制创建新的List< T>,因此在那里创建的新实例确实实现IList< T>是合乎逻...

c# – ListView光标更改和闪烁【代码】

当光标出现在项目上时,我正在尝试更改标准ListView上显示的光标.然而,当鼠标变为手指光标,然后回到我要求的状态时,我得到一个闪烁的效果. 我试图隔离这个闪烁/改变到手形光标,但无法弄清楚它发生的位置或如何阻止它.要复制这个…… 1)创建一个带有ListView的表单.2)添加图像列表和一些图像.将视图设置为大图标模式.3)将一些项添加到ListView. 将MouseMove事件添加到ListView:private void listView1_MouseMove(object sender, Mou...

c# – WPF ListBox的DataSource相当于什么?【代码】

我正在尝试从txt文件中设置一个Listbox.我读取文件并填充列表,然后我想在列表框中显示它,但我没有可用的数据源选项(只有DataContext和DataContextChanged). 我的列表框在XAML中声明:<ListBox Name="ScriptList" Grid.Row="0"Grid.Column="1"TextBlock.FontSize="12"Margin="2" />知道为什么吗? 此外,它是正确的继续方式(阅读文件 – >解决方法:我使用过ItemsSource并且它有效.

c# – 可以给Html.DropDownListFor()选项标签一个值吗?【代码】

我有这个@Html.DropDownListFor(x => x.Names, new SelectList(Model.Names, "Value", "Text"), "---Filter By Name---", new { @class = "nameSelecter" })当这呈现“—按名称过滤—”将是首选.我想知道我可以为此设置一个值吗?<option value="">---Filter By Name---</option>现在它没有任何价值.我想给一个.解决方法:DropDownListFor不支持此功能.您需要编写自定义帮助程序或使用javascript执行此操作.这就是说为默认选择设置一...

c# – WP7上ListPicker的caliburn.micro绑定约定【代码】

我正在为一个新项目尝试使用caliburn.micro框架,但我坚持使用绑定ListPicker(工具包中的那个).当我将控件更改为简单的DropDown时,一切都按预期工作.我假设DropDown工作正常,因为默认约定为here:AddElementConvention<Selector>(Selector.ItemsSourceProperty, "SelectedItem", "SelectionChanged").ApplyBinding = (viewModelType, path, property, element, convention) => {if (!SetBinding(viewModelType, path, property, ele...

c# – String.IndexOf的IList版本(查找子字符串’,而不仅仅是单个对象)【代码】

我正在寻找List< T> .IndexOf(List< T>)的实现.我只在.NET类库中找到了List<< T> .IndexOf(T). 我有一个List longList和一个List possibleSubList.我想知道是否可以在longList中找到可能的子列表作为子串,如果是,则将索引转换为longList. 这与System.String.IndexOf基本相同.任何人都知道该怎么称呼它或者它是否有良好的实现? 伪代码示例: {1,2,3,9,8,7} .IndexOf({3,9,8})= 2 {1,2,3,9,8,7} .IndexOf({1,2,3,9,8,7})= 0 ...

c# – Metro应用程序中的List.Find方法

我想知道为什么List< T> .Find在C#中创建Metro应用程序时不可用.它仍然在.NET Framework 4.5(Windows窗体,WPF)中,但在Metro风格的应用程序中却没有.有替代方案还是只是不会成为一种查找方法?解决方法:它是MSFT的选择.只需使用Linq的FirstOrDefault或SingleOrDefault. 肯定听起来他们正在做很多清理工作……

c# – ListView中的Foreach子项【代码】

我希望能够遍历每个ListViews子项并从每个子项中获取值.我尝试了各种各样的东西,但我发现很难从第二列获取子项目文本,而不是第一列中的项目文本.谢谢.foreach (ListViewItem itemRow in listView1.Items) { for (int i = 0; i < itemRow.SubItems.Count; i++) {string dueDate = itemRow.SubItems[i].Text;MessageBox.Show(dueDate);} }解决方法:检查此代码:foreach (ListViewItem itemRow in this.loggerlistView.It...

c# – 在我的LIST中对排名进行排名的解决方案?【代码】

考虑以下代码:class Results {public int playerId;public int score;public int section;public int position;public Results(int _playerId, int _score, int _section){playerId = _playerId;score = _score;section = _section;} }public void RankMyResults() {List<Results> myResultList = new List<Results>();myResultList.Add(new Results(1,232, 1));myResultList.Add(new Results(2,213, 1));// Add a lot of more re...

c# – 接受List的通用方法【代码】

我有5个类,代表一行数据网格.所有这些类都继承自CoreGrid的抽象类. 我有一个导出机制,它使用反射来确定要导出的列.在这一刻,我有一种方法用于每种类型的网格(ExportOrganisations,ExportPeople,ExportEvents)但是这很糟糕,因为它们之间唯一不同的是它查找类型的部分.示例代码如下所示:public string ExportEvents(List<EventGrid> events) {DataTable report = new DataTable();EventGrid ev = new EventGrid();Type t = ev.GetTy...

c# – 如何将Ilist转换为ArrayList?【代码】

我可以将IList转换为ArrayList吗? 如果是的话我该怎么办?IList alls = RetrieveCourseStudents(cf); ArrayList a = (ArrayList)alls;那是对的吗? 有错误:Unable to cast object of type解决方法:这完全是关于多态性的.ArrayList是Interface IList的一个实现.IList iList = new ArrayList(); 变量iList中的静态类型是IList,但它引用了一个ArrayList对象! 从IList到ArrayList没有真正的转换,因为您无法从Interface或abstract C...

c# – 从Function中获取NHibernate QueryOver .SelectList(x)【代码】

有没有办法从函数中获取成员列表,可以传递给SelectList()? 所以不要这样做var dtos = repository.QueryOver<MicrofilmExportProcessed>().SelectList(list => list.Select(x => x.Member1).WithAlias(() => dto.Member1).Select(x => x.Member2).WithAlias(() => dto.Member2).Select(x => x.Member3).WithAlias(() => dto.Member3)).List<MicrofilmExportProcessed>();做这样的事情:var dtos = repository.QueryOver<MicrofilmE...