Tag: list

通过检查元素的条件将列表拆分为子列表

假设我有一个integeres数组,我想把它分成几个部分,我想用零作为何时破坏的条件。 像这样的东西: [1,2,3,0,4,5,0,6,7] => [[1,2,3,0], [4,5,0], [6,7]] 好吧,可以使用两个for循环轻松完成,但我想知道是否可以使用LINQ执行此操作。 有这样的问题[1] , [2] ,但与此相反,它们依赖于从列表外部提供的条件。 注意:我知道在一个post中提出多个问题是不礼貌的,但是如果有人熟悉函数式编程(因为在本质上,它确实是一个FP问题),我也希望看到他们的观点和这个问题的可能解决方案。

DataGridView虚拟模式以简单列表作为源

之前我问过一个关于我的dataGridView性能的问题,因为它显示了大量的行,这些行是根据传入的流添加的。 给出了多个解决方案,其中一个解决方案启用虚拟模式 MSDN有一篇关于这个主题的文章,但它比我使用数据库和可编辑字段所需要的更复杂。 我的DataGridView仅用于显示,我显示的数据放在List中。 在我接受答案后,我收到了这个链接: http : //www.codeproject.com/Articles/23937/PagingANN-with havenGridView-in-VirtualMode 。 即使它使用数据库示例,它也更适合我需要的东西。 包含我要显示的数据的My List声明如下: List captureResults = new List(); ResultRow对象定义如下: /* Simplified */ public class ResultRow { private int first = 0; private string second = “”; private UInt64 third = 0; private IPAddress fourth = null; /* etc */ public ResultRow() { } public void […]

List operator ==在C#语言规范版本4中

在C#语言规范版本4中,1.6.7.5运算符是有关List运算符的信息: ==和!= 。 但我找不到List定义的运算符? 我错过了什么吗? 1.6.7.5运算符的示例代码: List a = new List(); a.Add(1); a.Add(2); List b = new List(); b.Add(1); b.Add(2); Console.WriteLine(a == b); // Outputs “True” => here I get False as well b.Add(3); Console.WriteLine(a == b); // Outputs “False”

如何从C#中的两个列表创建单个对象列表?

我有两个对象列表。 列表A和列表B.我需要创建列表C,它将列表A和列表B组合成对。 例如: List A object a1 object a2 object a3 List B object b1 object b2 object b3 List C (creates pairs) object c1 (object a1, object b1) object c2 (object a2, object b2) object c3 (object a3, object b3)

从async / await方法返回列表

我想以异步方式提出Web服务请求。 我在这里称呼它: List list = GetListAsync(); 这是我的函数的声明,它应该返回一个列表: private async Task<List> GetListAsync(){ List list = await Task.Run(() => manager.GetList()); return list; } 如果我想编译我得到以下错误 Cannot implicitely convert type System.Threading.Tasks.Task<System.Collections.Generic.List> to System.Collections.Generic.List 据我所知,如果我使用async修饰符,结果会自动包含在Task中。 我认为这不会发生,因为我使用Task.Run 。 如果我删除Task.Run(() =>部分我得到 无法等待System.Collections.Generic.List表达式 我想我还没有完全理解async / await方法。 我做错了什么?

列表的不同列表,其中列表包含相同的值但顺序不同

我有一个清单: var list = new List<List>(); 这可能包含 list[0] = {1, 2, 3, 4} list[1] = {3, 1, 2, 4} list[2] = {2, 1, 7, 3} 如何检测[0]和[1]之间的重复并删除其中一个? 代码是c-sharp。 实际上它不是一个int,但这不应该改变问题。

WPF过滤ListBox

我在ListBox加载了一个字符串ListBox ,现在我想在TextBox输入文本时对其进行过滤。 我该怎么做? public void ListLoad() { ElementList = new List(); // creation a list of strings ElementList.Add(“1”); // add a item of string ElementList.Add(“2”); // add a item of string DataContext = this; // set the data context } 我在XAML中绑定它: ItemsSource =“{Binding ElementList}”

在C#中将DataGridView的内容转换为List

获取DataGridView的内容并将这些值放入C#列表的最佳方法是什么?

为什么Reverse for List和IEnumerable有两个完全不同的版本?

对于List对象,我们有一个名为Reverse()的方法。 它反转了“就地”列表的顺序,它不会返回任何内容。 对于IEnumerable对象,我们有一个名为Reverse()的扩展方法。 它返回另一个IEnumerable。 我需要以相反的顺序遍历列表,所以我不能直接使用第二种方法,因为我得到一个List,我不想反转它,只是向后迭代。 所以我可以这样做: for(int i = list.Count – 1; i >=0; i–) 要么 foreach(var item in list.AsEnumerable().Reverse()) 我发现它的可读性低于我拥有IEnumerable时的可读性 foreach(var item in list.Reverse()) 我无法理解为什么这两种方法以这种方式实现,名称相同。 这很令人讨厌和困惑。 为什么在Reverse()中没有一个名为BackwardsIterator()的扩展名为所有IEnumerable工作? 我对这种选择的历史原因非常感兴趣,而不是“怎么做”的东西!

如何动态创建谓词

您好我想使用谓词表达式基于搜索字符串创建列表。 我有一个类型产品列表包含不同的名称。 List list1 = new List(); list1.Add(new products(“sowmya”)); list1.Add(new products(“Jane”)); list1.Add(new products(“John”)); list1.Add(new products(“kumar”)); list1.Add(new products(“ramya”)); listBox1.ItemsSource = list1; 现在我想根据用户输入过滤内容。用户将输入n个字符串,并带有’+’作为分隔符。 收到字符串后,我会将它们传递给谓词对象 private void textBox1_KeyDown(object sender, KeyEventArgs e) { List list2 = new List(); Expression<Func> predicate = PredicateBuilder.True(); if (e.Key == Key.Enter) { string Searchstring = textBox1.Text.ToString().Trim(); string[] separator = new string[] { “+” }; […]