【c# list对象集合 去重】教程文章相关的互联网学习教程文章

c# – 如何在.Net 2.0中查找List中字符串的索引【代码】

我试图获取List中字符串的索引号.我尝试了以下代码:List<string> Markets = new List<string>() {"HKG", "TYO", "NSE", "STU", "FRA", "LON", "SIN", "MIL", "TSE", "ASX", "STO", "AEX", "MEX", "NSE", "EPA", "SWX", "CVE", "BRU", "SWX"}; int index = Markets.FindIndex("HKG");出现以下错误:The best overloaded method match for ‘System.Collections.Generic.List.FindIndex(System.Predicate<string>)’ has some inval...

c# – 从WebRequestMethods.Ftp.ListDirectoryDe​​tails中提取文件名【代码】

我有一个应用程序执行以下操作:目录列表,下载文件,全部下载. 我从WebRequestMethods.Ftp.ListDirectoryDe??tails获取文件名时遇到问题.对于每种情况,似乎都不可能这样做. WebRequestMethods.Ftp.ListDirectoryDe??tails以下列方式返回lineItem: “-rw-r – r– 1 ftp ftp 39979 Aug 01 16:02 db to pc 2014-08-05 07-30-00.csv” 我使用第一个字符来确定它是文件还是目录.然后我在空间上拆分文件,并在拆分中的固定索引量之后获...

c# – 如何获取ListBox中的项目索引?【代码】

我正在向ListBox添加项目,如下所示:myListBox.Items.addRange(myObjectArray);我还想选择以下添加的一些项目:foreach(MyObject m in otherListOfMyObjects) {int index = myListBox.Items.IndexOf(m);myListBox.SelectedIndices.Add(index); }但索引总是-1. 是否有不同的方法来获取ListBox中的对象的索引?解决方法:您应该确保MyObject重写Equals(),GetHashCode()和ToString(),以便IndexOf()方法可以正确地找到对象. 从技术上讲...

C# – 如何从List中删除值【代码】

我有一个3元组列表<元组>用字符串,字符串,字符串.初始化:List< Tuple< string,string string>> myTupleList = new List< Tuple< string,string,string>>();我基本上想在Item2中搜索一个值,如果找到则删除整个条目.让我想象一下.如果我有:Item1 | Item2 | Item3 --------------------- "bar" | "foo" | "baz" --------------------- "cat" | "dog" | "sun" --------------------- "fun" | "bun" | "pun"我想要做//pseudocode myTu...

c# – 在Winforms中更改ListBox的“selected”颜色?【代码】

当你在Windows窗体的列表框中选择某些内容时,你如何改变那种丑陋的蓝色?我能找到的所有解决方案都包括重新创建整个控件,或者只使用WPF.在WinForms中有没有办法做到这一点?解决方法:将listBox的DrawMode设置为OwnerDrawFixed并订阅DrawItem事件:private void listBox_DrawItem(object sender, DrawItemEventArgs e) {e.DrawBackground();Graphics g = e.Graphics;Brush brush = ((e.State & DrawItemState.Selected) == DrawItem...

c# – 将List元素转换为String【代码】

在C#中将Int32列表转换为带有’,’之类的分隔符的字符串的最佳方法是什么?解决方法:你可以使用string.Join:var intList = new[] { 1, 2, 3, 4, 5 }; var result = string.Join(",", intList);编辑: 如果您来自.NET 4.0,则string.Join接受输入参数为IEnumerable< T>,因此您无需通过ToArray转换为Array. 但是如果你在.NET 3.5中:和其他答案一样,应该使用ToArray.

c#如何链接2个LinkedListNode?【代码】

我创建了一个Linked列表和几个节点,我想链接那些节点,不断收到此错误消息. “属性或索引器System.Collections.Generic.LinkedListNode<> .Next无法分配给它是只读的.“var link = new LinkedList<int>();var node1 = new LinkedListNode<int>(1);var node2 = new LinkedListNode<int>(2);var node3 = new LinkedListNode<int>(3);link.AddFirst(node1);link.AddFirst(node2);link.AddFirst(node3);node1.Next = node2; ---> .next...

c# – 删除ArrayList中所有出现的项目【代码】

我试图删除arraylist中所有出现的项目ArrayList list=new ArrayList(); list.Add("2.2"); list.Add("2.5"); list.Add("2.6"); list.Add("2.2"); list.Add("2.5"); list.Add("2.2");如何从列表中删除所有2.2值?我已经使用过了list.Remove("2.2")但它只删除第一次出现解决方法:阅读ArrayList.Remove()上的文档,特别是:Removes the first occurrence of a specific object from the ArrayList.你为什么还在使用ArrayList?示例中的元...

c# – 在List上执行LINQ操作【代码】

我有这样的结构public struct MyStruct {public string Name;//More fields and construtors }现在如果我有List< MyStruct>有没有办法使用列表的Contains()功能? 这不编译: if(_myStructList.Contains(x => x.Name ==“DAMN!”)){// DO STUFF} 这是错误:Cannot convert lambda expression to type 'MyStruct' because it is not a delegate type我猜那么这不会与结构一起使用?!解决方法:不使用Linq的Enumerable.Any的替代方法...

c# – WPF ListBoxItem不会拉伸到最大宽度【代码】

我是WPF的新手.我试图使OrderItemsTmpl模板中的第一列拉伸到可用的最大宽度,但它不起作用,宽度只能达到文本内部的宽度.我不想使用绝对值.怎么解决这个?谢谢<DataTemplate x:Key="OrderItemsTmpl"><Grid Background="Brown" HorizontalAlignment="Stretch" ><Grid.ColumnDefinitions><ColumnDefinition Width="*"></ColumnDefinition><ColumnDefinition Width="auto"></ColumnDefinition></Grid.ColumnDefinitions><StackPanel Gri...

c# – LINQ而不是foreach和list.addrange【代码】

有谁知道以下代码的LINQ代码是什么?:foreach (Bed bed in field.GetBeds()) {asparaguses.AddRange(bed.GetAsparaguses()); }解决方法:使用SelectMany展平嵌套列表asparaguses.AddRange(field.GetBeds().SelectMany(bed => bed.GetAsparaguses()));

c# – 将字典转换为List【代码】

我有一个字典< String,Object>我想将它转换为List< Customer>这样做有一个聪明的方法吗?任何例子?谢谢 EDITED 很抱歉没有正确解释.鉴于以下原因,为什么我的结果为0?请注意我试图模拟一个现场情况,第一个键没有意义,并希望排除所以只有我应该得到的客户.为什么不起作用?谢谢你的任何建议class Program {static void Main(string[] args){List<Customer> oldCustomerList = new List<Customer>{new Customer {Name = "Jo1", Surn...

C#如何将具有IList的对象转换为IList?【代码】

我有一个实现IList接口的对象,我想把它转换为IList< object>要么列表与LT;对象>中我试过了IList<object> a=(IList<object>)b; List<object> a=(IList<object>)b; IList<object> a=(List<object>)b; List<object> a=(List<object>)b;这些都行不通.请帮忙,谢谢.澄清: b是从外部作为参数传递的对象.它实现了IList接口.例如,public class a {string name;List<a> names; } public void func(object item) {object dataLeaves = data.G...

c# – 在迭代期间从SortedList中删除是否安全【代码】

我的问题是枚举器从SortedList中删除项目是否安全?SortedList<decimal, string> myDictionary; // omitted codeIEnumerator<decimal, string> enum = myDictionary.GetEnumerator();while(enum.MoveNext) {// is it ok to remove here?myDictionary.Remove(enum.Current.Key); }解决方法:这将抛出异常 – 您无法在迭代时修改集合. 如果你仔细想一想,你会理解为什么.如果允许在集合中添加或删除,则不再迭代同一集合 – 您要么太多(...

c# – 将LINQ匿名类型转换为IList <>时出错【代码】

我有以下LINQ加入:var query = _ABC.Table.Join(_DEF.Table, cef => ...etc... }).Join(_GHI.Table, extf => ...etc...}).Select(jcefn=> new { XYZ = jcefn....etc...});linq很好并且返回我期望的(在LINQ pad中验证). 我试图将查询传递给具有此签名的扩展方法:public PagedList(IQueryable<T> source, int pageIndex, int pageSize) { ... }所以我认为这是可以接受的:var FPaged = new PagedList<MyObject>(query.ToList(), pa...