Tag: linq to objects

如何使用linq按主键组合三个对象列表

我正在尝试组合3个对象列表。 我有一个人名单,地址列表和地址关联列表。 我想将这些列表组合到person.id排序的新列表中,将其用作列表视图的数据源,然后能够访问aspx页面中的属性。 这可能吗?

LINQ to Objects中使用Max()后如何选择多个值?

我有以下LINQ查询: var query = (from p in obj1 group p by p.objID into g let totalSum = g.Sum(p => p.ObjPrice) select new { MyObjectID = g.Key, totalSum }) .Max(g => g.totalSum); 我想以最高价格选择对象的对象ID和价格。 我怎样才能做到这一点?

我可以使用LINQ更优雅地重写它吗?

我有一个double[][] ,我想转换为CSV字符串格式(即一行中的每一行,以逗号分隔的行元素)。 我这样写的: public static string ToCSV(double[][] array) { return String.Join(Environment.NewLine, Array.ConvertAll(array, row => String.Join(“,”, Array.ConvertAll(row, x => x.ToString()))); } 有没有更优雅的方式来使用LINQ写这个? (我知道,可以使用临时变量来使这看起来更好,但这种代码格式更能传达我想要的东西。)

比较i4o与PLINQ的较大集合

对于有i4o或PLINQ经验的人,我有一个问题。 我有一个需要查询的大对象集合(大约400K)。 逻辑非常简单明了。 例如,有一个Person对象的集合,我需要找到匹配相同firstName,lastName,datebirth或FirstName / lastname的第一个首字母等的人。这只是一个使用LINQ to Object的耗时过程。 我想知道i4o (http://www.codeplex.com/i4o ) 或PLINQ可以帮助提高查询性能。 哪一个更好? 如果那里有任何方法。 谢谢!

如何在不使用OrderBy的情况下从Point数组中获取具有最小X的Point?

想象一下,我有 var points = new Point[] { new Point(1, 2), new Point(2, 3) }; 要获得最小XI的要点可以: var result = points.OrderBy(point => point.X).First(); 但对于大型arrays,我认为这不是更快的选择。 还有更快的选择吗?

如何通过契约定义IEnumerable行为?

考虑这两个返回IEnumerable的方法: private IEnumerable GetYieldResult(int qtResult) { for (int i = 0; i < qtResult; i++) { count++; yield return new MyClass() { Id = i+1 }; } } private IEnumerable GetNonYieldResult(int qtResult) { var result = new List(); for (int i = 0; i < qtResult; i++) { count++; result.Add(new MyClass() { Id = i […]

Group By使用C#LINQ的任一列

我有一组数据,如下所示 OffName,RO1,RO2,RO3 为了进一步解释,我使用如下样本数据: OffName RO1 RO2 RO3 A John Jack Rob B Earl John Carl C Rob Chris Kenny D Rodney Carl Jacob RO代表报告官。 每个官员报告最多3个RO.i需要报告我需要显示RO的分组,无论该人员是RO1或RO2还是RO3。约翰是A级的RO1和B级的RO2,因此,当按照约翰逊的RO分组时,我希望A和B都被选中。对于B级官员来说,Carl是RO3,对于D级官员来说是RO2,所以当由Ro在Carl下分组时,B&D官员都将被选中。 因此,对于按RO分组的上述数据,我希望结果为 RO OffName John AB Jack A Rob AC Earl B Carl BD Chris C Kenny C Rodney D Jacob D 任何帮助都会很棒 谢谢。

Linq首先跳到哪里(linq到对象)

我需要跳过匹配谓词的第一个元素作为linq查询。 到目前为止,我可以告诉我能做的最好的事情是这样的: var list = new [] {1,2,3,4,5,6,7,8,9}; var skippedFirstOdd = false; var skipFirstEvenNumber = list.SkipWhile(number => { if(number % 2 != 0) { skippedFirst = true; return true; } else { return false; } }); 哪个有效(我认为),但不是很优雅。 有没有更清洁的方法来实现这一目标?

我可以使用LINQ去除字符串中的重复空格吗?

一个快速的脑筋急转弯:给一个字符串 This is a string with repeating spaces LINQ表达的最终结果是什么 This is a string with repeating spaces 谢谢! 作为参考,这是一种非LINQ方式: private static IEnumerable RemoveRepeatingSpaces(IEnumerable text) { bool isSpace = false; foreach (var c in text) { if (isSpace && char.IsWhiteSpace(c)) continue; isSpace = char.IsWhiteSpace(c); yield return c; } }

LINQ查询列表中的字典

我有 List selectedOptions; Dictionary masterList; masterList由Keys组成,Keys是selectedoptions值的超集。 现在,我想提取selectedOptions和masterList之间相交键的所有值。 如何构建LINQ查询?