Tag: linq

外部variables陷阱

什么是外部variables陷阱? 在C#的解释和例子,赞赏。 编辑:合并Jon Skeet的diktat 🙂 埃里克Lippert在外部可变的陷井

LINQ – 哪里不存在

LINQ中以下语句的等价物是什么: Select t1.appname, t1.julianDte, t1.cat From table1 t1 Where NOT EXISTS ( Select * from table t2 where t1.cat = t2.cat AND t2.julianDte < t1.julianDte )

如何使用expression式设置属性值?

给定以下方法: public static void SetPropertyValue(object target, string propName, object value) { var propInfo = target.GetType().GetProperty(propName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly); if (propInfo == null) throw new ArgumentOutOfRangeException("propName", "Property not found on target"); else propInfo.SetValue(target, value, null); } 你将如何去写它的expression式启用的等价物,而不需要传入额外的目标参数? 为什么不直接设置属性,我可以听到你说。 例如,假设我们有一个拥有公共getter但私有setter的属性的类: public class Customer { public string Title {get; private set;} public string Name […]

推荐的方法来检查一个序列是否为空

一个方法返回一个序列, IEnumerable<T> ,现在你想检查它是否为空。 你如何推荐这样做? 我正在寻找良好的可读性和良好的性能。 第一个也是最明显的方法是检查计数是否大于零: if(sequence.Count() == 0) 有可观的可读性,但可怕的performance,因为它必须实际上贯穿整个序列。 我有时使用的方法如下: if(!sequence.Any()) 这不(据我所知)必须经历整个序列,但可读性有点落后和尴尬。 (如果我们检查序列不是空的,则读取更好)。 另一个select是在尝试捕获中使用First ,如下所示: try { sequence.First(); } catch(InvalidOperationException) { // Do something } 不是一个非常漂亮的解决scheme,也可能更慢,因为它使用exception和东西。 当然可以通过使用FirstOrDefault来防止,除非序列中的第一个项目实际上是默认值,否则会有很大的问题;) 那么,还有其他的方法来检查序列是否为空? 你通常使用哪一个? 你推荐使用哪一个? 注意:为了获得最佳的可读性,我可能会把上面的代码片段放到一个IsEmpty扩展方法中,但是我还是很好奇,因为我也不得不在这个方法中做一些事情:p

如何在Linq中合并一个集合

我希望能够融合一个IEnumerable<IEnumerable<T>>到IEnumerable<T> (即合并所有个人集合成一个)。 Union运营商只适用于两个集合。 任何想法?

LINQ类似于斯卡拉?

是否有任何理智的类似于LINQ(.NET)的Scala存在?

Linq Count()比List.Count或Array.Length更快还是更慢?

Linq Count( )方法是否比List<>.Count或Array.Length更快或更慢?

Linq先按特定的数字sorting,然后依次显示所有的rest

如果我有一个数字列表: 1,2,3,4,5,6,7,8 我想以一个特定的数字来订购,然后显示其余的。 例如,如果我select“3”,列表应该是: 3,1,2,4,5,6,7,8 寻找linq和C#。 谢谢

如何查找List在List <string>中有重复的值

如何查找List<string>是否有重复的值? 我试着用下面的代码。 有什么最好的办法来实现? var lstNames = new List<string> { "A", "B", "A" }; if (lstNames.Distinct().Count() != lstNames.Count()) { Console.WriteLine("List contains duplicate values."); }

C#确定列表中的重复

要求:在未sorting的列表中,确定是否存在重复。 我会这样做的典型方法是一个n平方的嵌套循环。 我想知道别人怎么解决这个问题。 Linq中有一个优雅的高性能方法吗? 通用的lambda或比较器会很好。