Tag: list

在Entity Framework的where子句中使用List

我试图通过一对多表检索文档ID。 我想在where子句中使用List来查找与列表中的每个元素相关联的所有id。 List docIds = (from d in doc where _tags.Contains(d.Tags) select d.id).ToList(); 我知道包含的内容必须不正确,但我无法解决。 如果我尝试foreach,我无法弄清楚如何检查文档是否包含所有标签。

将多个列表绑定到DataGridView

我有两个静态列表,它们将绑定到DataGridView以及两个按钮字段。 我只能绑定一个列表和一个按钮字段。 是否可以将多个列表绑定到DataGridView ? ServiceController objSAVAdminService = new ServiceController(“SAVAdminService”); ServiceController objSAVService = new ServiceController(“SAVService”); ServiceController objPPVService = new ServiceController(“PPVService”); ServiceController objMLLService = new ServiceController(“MLLService”); List ServiceName = new List(); List ServiceStatus = new List(); ServiceName.Add(objSAVService.ServiceName.ToString()); ServiceName.Add(objSAVAdminService.ServiceName.ToString()); ServiceName.Add(objPPVService.ServiceName.ToString()); ServiceName.Add(objMLLService.ServiceName.ToString()); ServiceStatus.Add( objSAVService.Status.ToString()); ServiceStatus.Add( objSAVAdminService.Status.ToString()); ServiceStatus.Add( objPPVService.Status.ToString()); ServiceStatus.Add( objMLLService.Status.ToString()); 我需要将这两个列表绑定到DataGridView并且每行上还有两个按钮来启动或停止相应的服务。

合并多个列表

鉴于我有一个列表列表, List <List> ,其中所有列表包含0个或更多项,可能但不一定都是相同的数字。 我希望有一个包含列表中所有项目的列表…但我希望订单如下:首先是所有列表中的第一个项目,以便它们出现在“超级列表”中。 防爆。 List[0] = { ‘Apple’, ‘Blueberry’, ‘Cranberry’ } List[1] = { ‘Anteater’, ‘Baboon’, ‘Camel’, ‘Dodo’} List[2] = { ‘Albatross’, ‘Blackbird’, ‘Chicken’} result = { ‘Apple’, ‘Anteater’, ‘Albatross’, ‘Blueberry’, ‘Baboon’, ‘Blackbird’, ‘Cranberry’, ‘Camel’, ‘Chicken’, ‘Dodo’ } (请注意,这不是按字母顺序排列的,Blueberry出现在Baboon之前) 当然,只要有一个非空的列表,我就可以通过计数器循环遍历’superlist’,逐个将项添加到结果列表中: int i = 0; bool done = false; while (!done) { bool found […]

断言列表中字段的唯一性

我在C#中创建了一个列表,我想进行测试,看看Id字段的所有值是否都是唯一的。 public static List _reviews = new List { new RestaurantReview { Id = 1, Name = “McDonalds”, }, new RestaurantReview { Id = 2, Name = “Burger King”, }, } 因为我做了一些调试,我发现它正在通过列表运行,但我没有得到正确的测试值。 有人可以解释我在这里做错了吗? [TestMethod()] public void CheckReviewIds() { var FirstReview = ReviewsController._reviews.First(); bool AllUniqueIds = ReviewsController._reviews.All(s => s.Id == FirstReview.Id); Assert.IsFalse(AllUniqueIds); } 提前致谢。

如何在LINQ中执行String.Replace?

这是我想要做的但没有成功。 我想from x in list1调用并join y in list2 where regex.Match(x.Value).Success 。 在这些步骤之后,我需要在x.Value上调用String.Replace两次。 然后调用on和select运算符。 我希望它看起来像第二个例子。 如何实现这一目标? 这是我的列表的样子: list1 list2 Name Value Name Value item.1 $(prod1) prod1 prodVal1 item.2 $(prod2) prod2 prodVal2 item.3 prod3 prod3 prodVal3 这是我的列表应该是这样的: updatedList Name Value item.1 prodVal1 item.2 prodVal2 item.3 prod3 示例1(这是我目前拥有的): foreach (var x in list1) { Match match = reg.Match(x.Value); […]

Dictionary <int,List >

我有这样的事情: Dictionary<int, List> fileList = new Dictionary<int, List>(); 然后,我用一些变量填充它,例如: fileList.Add( counter, new List { OFD.SafeFileName, OFD.FileName, VERSION, NAME , DATE , BOX , SERIAL_NUM, SERIES, POINT , NOTE , VARIANT } ); 其中counter是每次发生某事时递增+1的变量, List{XXX}其中XXX是包含一些文本的字符串变量。 我的问题是,如果counter == 1,如何从列表中访问这些字符串?

将列表转换为参数C#

我有以下列表: var myList = new List<KeyValuePair>(); 而这个function: public void Test(params KeyValuePair[] list) 使用该function时,如何将列表转换为参数? 像那样: Test(myList);

在列表中查找重复但有条件

想要从列表中删除重复项,以便我的列表包含: www.test.com test.com mytest.com 我希望最终列表如下所示(仅从前面的副本中选择带有www的域): www.test.com mytest.com 我有这个linq,但似乎忽略了所有没有www前面的域名,因为它只选择了www: var result=inputList.Where(x=>x.DomainName.StartsWith(“www.”)).Distinct(); 编辑: @DanielHilgarth:我只是运行你的代码并没有产生正确的结果。 我有 : test.com www.test.com test2.com www.test2.com test3.com www.test3.com test4.com 在我的清单中。 它返回: test.com www.test.com www.test2.com www.test3.com 以下是我如何使用您的代码: var result = lstServerBindings.GroupBy(x => x.DomainName.StartsWith(“www.”) ? x.DomainName : “www.” + x) .Select(x => { var domain = x.FirstOrDefault(y => y.DomainName.StartsWith(“www.”)); if (domain == null) return x.First(); […]

检查对象是否与给定列表中的任何类型匹配的替代方法

if (this.Page is ArticlePage|| this.Page is ArticleListPage) { //Do something fantastic } 上面的代码是有效的,但考虑到可能有很多不同的类,我想比较this.Page to,我想将类存储在列表中,然后在列表上执行.Contains() 。 我怎么做到这一点? 我会以某种方式使用GetType()吗? 我可以存储一个Page对象列表,然后以某种方式比较这些类型吗? 注意:您可以假设我正在比较this.Page所有类以扩展Page 。

.NET检查两个IEnumerable 是否具有相同的元素

可能重复: 比较两个集合是否相等 我需要validation两个IEnumerable列表是否具有相同的元素,不一定是相同的顺序。 我的目标是.NET 3.5。 这是测试。 问题是, HasSameElements()应该如何实现? var l1 = new[]{1,2,3}; var l2 = new[]{3,1,2}; bool rez1 = l1.HasSameElements(l2);//should be true var l3 = new[]{1,2,3,2}; var l4 = new[]{3,1,2,2}; bool rez2 = l3.HasSameElements(l4);//should be true var l5 = new[]{1,2,3,2}; var l6 = new[]{1,2,3}; bool rez3 = l5.HasSameElements(l6);//should be false 附加说明: 在示例中,我使用IEnumerable,但T可以是任何东西。 T必须实现IComparable吗? Enumerable.SequenceEquals()本身不起作用,它期望元素的顺序相同。 这是HasElements的模板: […]