Tag: linq

MemberBinding LINQ表达式的一些示例是什么?

有三种可能性,但我找不到例子: System.Linq.Expressions.MemberAssignment System.Linq.Expressions.MemberListBinding System.Linq.Expressions.MemberMemberBinding 我想写一些unit testing,看看我是否可以处理它们,但我不知道怎么写它们除了第一个,它似乎是new Foo { Property = “value” }其中Property =“value”是MemberAssignment类型的MemberAssignment 。 另请参阅此MSDN文章 。

使用XDocument按属性查找元素

此查询似乎有效,但我有0结果。 IEnumerable users = (from el in XMLDoc.Elements(“Users”) where (string)el.Attribute(“GUID”) == userGUID.ToString() select el); 我的XML如下: … 你有任何线索可以解释这个问题吗?

如何查找列表中的元素是否在另一个列表中?

我想知道在第二个列表中是否可以找到第一个列表中的至少一个元素。 我可以看到两种方法。 假设我们的列表是: List list1 = new[] { “A”, “C”, “F”, “H”, “I” }; List list2 = new[] { “B”, “D”, “F”, “G”, “I” }; 第一种方法使用循环: bool isFound = false; foreach (item1 in list1) { if (list2.Contains(item1)) { isFound = true; break; } } 第二个直接使用Linq: bool isFound = list1.Intersect(list2).Any(); 第一个是写的很长,而不是非常直接/易于阅读。 第二个是短而清晰的,但表现很低,特别是在大型名单上。 这可能是一种优雅的方式吗?

如何使用Linq将dataTable过滤到数据表?

您好我如何使用linq过滤数据表到数据表? 我有一个DropDownList,我可以选择模块列的值。 现在我想用这个模块列过滤DataTable。 这是我的数据表结构: User | Host | TimeDiff | License | Telefon | Modul 这里的代码: protected void drp_Modules_SelectedIndexChanged(object sender, EventArgs e) { string value = drp_Modules.SelectedValue; DataTable tb = (DataTable)Session[“dt_Users”]; tb = from item in tb //????? LoadUsertable(tb); }

在List 中查找包含值的元素

我有一个List MyList在哪里 public class MyClass { public string name { get; set; } public string value { get; set; } } 给定一个名字,我想获得相应的价值。 我目前实现的目的是: MyList[MyList.FindIndex(item => String.Compare(item.name, “foo”, 0) == 0)].value 有更清洁的方法吗?

按属性名称(字符串值)排序列表?

我有一个object列表。 如何使用属性名称订购此列表? string orderbyField = “Code”; List l = FillList(); l = l.OrderBy(o => orderbyField); 我可以针对此问题进行扩展吗?

从列表中选择单个项目

使用LINQ如果列表中可能不存在该项,那么从列表中选择单个项目的最佳方法是什么? 我想出了两个解决方案,我都不喜欢。 我使用where子句来选择项目列表(我知道它只会是一个),然后我可以检查计数并在此列表上进行单次调用(如果count为1),另一种选择是使用foreach并且只是拿到物品后rest。 这些都不是一个好方法,有没有更好的方法?

编译Expression 时,是否隐式缓存?

编译Expression ,框架是否隐式缓存了生成的代码? 我正在考虑静态正则Regex方法,其中框架隐式编译并缓存最后几个正则表达式。 如果编译的Expression对象没有被缓存,你是否可以推荐一些最佳实践来保持编译时间或任何可能导致问题的陷阱如果我手动缓存表达式? public MyResultType DoSomething(int arg1, int arg2) { var result = invokeHandler( (IDoSomethingHandler h) => h.DoSomething(arg1, arg2) ); return result; } private TResult invokeHandler(Expression<Func> action) where T : class { // Here, I might want to check to see if action is already cached. var compiledAction = action.Compile(); var methodCallExpr = action […]

使用LINQ按多个属性分组并求和

我有一个项目集合,这里是: AgencyID VendorID StateID Amount Fee 1 1 1 20.00 5.00 1 1 1 10.00 2.00 1 1 1 30.00 8.00 2 2 1 20.00 5.00 2 2 1 5.00 5.00 1 1 2 20.00 5.00 2 2 2 20.00 5.00 2 2 2 40.00 9.00 1 2 2 35.00 6.00 1 2 2 12.00 […]

删除int数组列表中的重复项

有一个int数组列表,如: List intArrList = new List(); intArrList.Add(new int[3] { 0, 0, 0 }); intArrList.Add(new int[5] { 20, 30, 10, 4, 6 }); //this intArrList.Add(new int[3] { 1, 2, 5 }); intArrList.Add(new int[5] { 20, 30, 10, 4, 6 }); //this intArrList.Add(new int[3] { 12, 22, 54 }); intArrList.Add(new int[5] { 1, 2, 6, 7, 8 […]