草庐IT

c# - 获取通用列表中对象的索引

我有一个自定义对象列表,其中有两个属性作为标识符(IDa和IDb)。每次我删除一个对象时,我都需要知道它的索引。如何在不循环所有列表的情况下获取对象的索引?Listlist=newList();list.RemoveAll((MiniMapRecordp)=>p.IDa==IDa.SystemID&p.IDb==pInputRecordMap.IDb); 最佳答案 你想要的方法是FindIndex(Predicate)intindex=list.FindIndex(MiniMapRecordp=>p.IDa==IDa.SystemI

c# - 在文本框中显示列表<String> (Winforms)

菜鸟问题...我正在尝试在文本框中显示一个列表...不幸的是,我的代码只显示列表中的第一个元素...privatevoidForm1_Load(objectsender,EventArgse){Listvegetables=newList();vegetables.Add("tomato");vegetables.Add("carrot");vegetables.Add("celery");vegetables.Add("potato");textBox1.Text=displayMembers(vegetables);}publicstringdisplayMembers(Listv

C# 从 List<List<int>> 中删除重复项

我无法想出最有效的算法来从List>中删除重复项,例如(我知道这看起来像int[]的列表,但只是出于视觉目的这样做:my_list[0]={1,2,3};my_list[1]={1,2,3};my_list[2]={9,10,11};my_list[3]={1,2,3};所以输出就是new_list[0]={1,2,3};new_list[1]={9,10,11};如果您有任何想法,请告诉我。我真的很感激。 最佳答案 构建自定义EqualityComparer>:publicclassCusComparer:IEqualityCom

c# - 使用反射将项目添加到 List<T>

我试图通过反射将项目添加到IList,但在调用“添加”方法时抛出错误“对象引用未设置”。在调试时我开始知道GetMethod("Add")正在返回NULL引用。TypeobjTyp=typeof(MyObject);//HardCodedTypeNamefordemopurposevarIListRef=typeof(List);Type[]IListParam={objTyp};objectResult=IListRef.MakeGenericType(IListParam);MyObjectobjTemp=newMyObject();Result.GetType().GetMeth

c# - 如何正确克隆 List<MyObject>?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowdoIcloneagenericlistinC#?Lista1=newList();varnew1=a1;现在,如果我更改a1,那么new1也会更改。所以我的问题是如何正确地克隆a1?

c# - 如何检查字符串是否包含 List<string> 的任何元素?

我有一个if语句,我想在其中检查字符串是否包含list的任何项目.if(str.Contains(list2.Any())&&str.Contains(ddl_language.SelectedValue)){lstpdfList.Items.Add(str);} 最佳答案 正确的表述是list2.Any(s=>str.Contains(s))这被解读为“list2是否包含任何字符串s,使得str包含s?”。 关于c#-如何检查字符串是否包含List的任何元素?,我们在StackOver

c# - 查找 C# 列表中是否存在值的最有效方法

这个问题在这里已经有了答案:AmongFind,Single,First,whichoneisthefastest?(5个答案)关闭9年前。在C#中,如果我有一个bool类型的列表。确定列表是否包含真值的最快方法是什么?我不需要知道真正的值(value)有多少或在哪里。我只需要知道是否存在。我将搜索许多非常大的列表。

c# - 将 ListView 项目转换到 List<string>?

我怎么投ListView.Items到List?这是我尝试过的:Listlist=lvFiles.Items.Cast().ToList();但是我收到了这个错误:Unabletocastobjectoftype'System.Windows.Forms.ListViewItem'totype'System.String'. 最佳答案 ListViewItemCollection顾名思义-ListViewItem元素的集合。它不是字符串的集合。您的代码在执行时失败的原因与此代码在编译时失败的原因相同:ListViewItemitem

c# - 将所有 child 放到一个列表中 - 递归 C#

C#|.NET4.5|EntityFramework5我在EntityFramework中有一个类,如下所示:publicclassLocation{publiclongID{get;set;}publiclongParentID{get;set;}publicListChildren{get;set;}}ID是位置的标识符,ParentID将其链接到父位置,而Children包含父位置的所有子位置。我正在寻找一种简单的方法,可能是递归的,将所有“位置”及其子项都放到一个包含Location.ID的列表中。我在递归地概念化这个问题时遇到了麻烦。感谢您的帮助。这是我目前所拥有的,它是对实

c# - 使用 List.Sort(Comparison<T> comparison) 在 C# 中对列表进行排序

我创建了一个类如下:publicclassStringMatch{publicintline_num;publicintnum_of_words;}我已经创建了一个列表Listsm;里面的元素很少。如何使用Comparison对列表进行排序比较过载?必须根据num_of_words进行排序字段。 最佳答案 您可以编写lambda表达式来比较两个对象,如下所示:sm.Sort((x,y)=>x.num_of_words.CompareTo(y.num_of_words));你可以通过添加-进行逆序排序sm.Sort((x,y)=>-x