Questions tagged «linq»

语言集成查询(LINQ)是Microsoft .NET Framework组件,它向.NET语言添加了本机数据查询功能。请考虑在适当的时候使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

8
LINQ:不是任何人都不是所有人
我经常想检查一个提供的值是否与列表中的一个匹配(例如,在验证时): if (!acceptedValues.Any(v => v == someValue)) { // exception logic } 最近,我注意到ReSharper要求我将这些查询简化为: if (acceptedValues.All(v => v != someValue)) { // exception logic } 显然,这在逻辑上是相同的,也许可读性更高(如果您完成了许多数学运算),我的问题是:这会导致性能下降吗? 感觉像是应该的(即.Any()听起来像是短路,而.All()听起来像不是),但是我没有任何证据可以证明这一点。是否有人对查询是否可以解决相同的问题或ReSharper是否使我误入歧途有更深入的了解?
272 c#  .net  performance  linq  resharper 

23
如何在C#中连接两个数组?
int[] x = new int [] { 1, 2, 3}; int[] y = new int [] { 4, 5 }; int[] z = // your answer here... Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 })); 现在我用 int[] z = x.Concat(y).ToArray(); 有没有更简单或更有效的方法?
267 c#  arrays  .net  linq 


13
流利和查询表达-相对于其他有什么好处吗?
LINQ是自。泛型以来对.NET的最大改进之一,它为我节省了大量时间和代码行。但是,对我来说,流利的语法似乎比查询表达式语法自然得多。 var title = entries.Where(e => e.Approved) .OrderBy(e => e.Rating).Select(e => e.Title) .FirstOrDefault(); var query = (from e in entries where e.Approved orderby e.Rating select e.Title).FirstOrDefault(); 两者之间是否有任何区别,或者两者之间有什么特别的好处?
255 c#  linq 


7
合并两个表达式(Expression <Func <T,bool >>)
我有两个类型的表达式,Expression&lt;Func&lt;T, bool&gt;&gt;我想对它们进行“或”,“或”或“非”运算,并获得相同类型的新表达式 Expression&lt;Func&lt;T, bool&gt;&gt; expr1; Expression&lt;Func&lt;T, bool&gt;&gt; expr2; ... //how to do this (the code below will obviously not work) Expression&lt;Func&lt;T, bool&gt;&gt; andExpression = expr AND expr2
248 c#  linq  lambda  expression 

12
如何在LINQ中在单个联接中的多个字段上进行联接
我需要执行一个LINQ2DataSet查询,该查询对多个字段进行联接(如 var result = from x in entity join y in entity2 on x.field1 = y.field1 and x.field2 = y.field2 我还找到了合适的解决方案(我可以在where子句中添加额外的约束,但这远非合适的解决方案,或者使用此解决方案,但假定存在等价联接)。 在LINQ中是否可以在单个联接中联接多个字段? 编辑 var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } 是我上面假设为均等连接的解决方案。 进一步编辑 为了回答批评我最初的例子是等值连接,我确实承认,我当前的要求是等值连接,并且我已经采用了上面提到的解决方案。 但是,我试图了解我在LINQ中应该/应该采用的可能性和最佳实践。我将需要尽快使用表ID进行日期范围查询联接,并且只是在先发制人,似乎我必须在where子句中添加日期范围。 …
244 c#  linq  join 

6
LINQ查询以选择前五名
我有一个LINQ查询: var list = from t in ctn.Items where t.DeliverySelection == true &amp;&amp; t.Delivery.SentForDelivery == null orderby t.Delivery.SubmissionDate select t; 如何修改此查询以从数据库中仅选择五个结果?
234 c#  linq 



13
在LINQ列表中查找项目?
在这里,我有一个简单的示例,可以在字符串列表中找到一个项目。通常我使用for循环或匿名委托来做到这一点: int GetItemIndex(string search) { int found = -1; if ( _list != null ) { foreach (string item in _list) // _list is an instance of List&lt;string&gt; { found++; if ( string.Equals(search, item) ) { break; } } /* use anonymous delegate string foundItem = _list.Find( delegate(string item) { …
226 c#  linq 

3
LINQ与groupby和count
这很简单,但我很茫然:鉴于这种数据集: UserInfo(name, metric, day, other_metric) 和此示例数据集: joe 1 01/01/2011 5 jane 0 01/02/2011 9 john 2 01/03/2011 0 jim 3 01/04/2011 1 jean 1 01/05/2011 3 jill 2 01/06/2011 5 jeb 0 01/07/2011 3 jenn 0 01/08/2011 7 我想检索一个表,该表按顺序(0,1,2,3 ..)列出指标,其中包含发生计数的总数。因此,从这个集合中您将得到: 0 3 1 2 2 2 3 1 我正在努力使用LINQ语法,但是在哪里放置groupby并计数...有任何帮助吗? 开机自检编辑:我始终无法获得已发布的答案,因为它们总是返回一条记录,且记录的数目不同。但是我能够整理一个有效的LINQ …
220 c#  linq  group-by 

2
LINQ查询以返回Dictionary <string,string>
我有一个MyClass集合,我想使用LINQ查询以获取不同的值,并返回一个Dictionary &lt;string,string&gt;作为结果,但是我不知道该如何做比我更简单的事情在做下面。我可以用来获取Dictionary &lt;string,string&gt;作为结果的更简洁的代码是什么? var desiredResults = new Dictionary&lt;string, string&gt;(StringComparer.OrdinalIgnoreCase); var queryResults = (from MyClass mc in myClassCollection orderby bp.SomePropToSortOn select new KeyValuePair&lt;string, string&gt;(mc.KeyProp, mc.ValueProp)).Distinct(); foreach (var item in queryResults) { desiredResults.Add(item.Key.ToString(), item.Value.ToString()); }
218 c#  .net  linq  dictionary 


11
LINQ Single与First
LINQ: 当我确定查询将返回单个记录时,使用Single()运算符是否更有效?First() 有区别吗?
214 .net  linq 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.