草庐IT

LINQ_ENABLED

全部标签

c# - 使用 LINQ 通过一个属性比较两个列表

假设我有以下内容:classWidget1{publicintTypeID{get;set;}publicstringColor{get;set;}}classWidget2{publicintTypeID{get;set;}publicstringBrand{get;set;}}privatevoidtest(){Listwidgets1=newList();Listwidgets2=newList();Listwidgets1_in_widgets2=newList();//somecodeheretopopulatewidgets1andwidgets2foreach(Widge

c# - LINQ - 在 IEnumerable 中选择第二个项目

我有string[]pkgratio="1:2:6".Split(':');varitems=pkgratio.OrderByDescending(x=>x);我想选择中间值并想出了这个。这是在IEnumberable中选择第二个值的正确方法吗?pkgratio.Skip(1).Take(1).First(); 最佳答案 虽然您的工作有效,但最直接的方法是使用数组的索引并引用第二项(在索引1处,因为第一个元素的索引从零开始):pkgratio[1]Console.WriteLine(pkgratio[1]);一个更完整的例子:str

c# - LINQ - 在 IEnumerable 中选择第二个项目

我有string[]pkgratio="1:2:6".Split(':');varitems=pkgratio.OrderByDescending(x=>x);我想选择中间值并想出了这个。这是在IEnumberable中选择第二个值的正确方法吗?pkgratio.Skip(1).Take(1).First(); 最佳答案 虽然您的工作有效,但最直接的方法是使用数组的索引并引用第二项(在索引1处,因为第一个元素的索引从零开始):pkgratio[1]Console.WriteLine(pkgratio[1]);一个更完整的例子:str

c# - LINQ 内连接与左连接

我尝试使用扩展语法在我拥有的两个列表上使用LINQ创建左连接。以下内容来自Microsoft帮助,但我对其进行了修改以显示宠物列表没有任何元素。我最终得到的是一个包含0个元素的列表。我认为这是因为正在进行内部连接。我最终想要的是一个包含3个元素(3个Person对象)的列表,其中为缺失的元素填充了空数据。即左连接。这可能吗?Personmagnus=newPerson{Name="Hedlund,Magnus"};Personterry=newPerson{Name="Adams,Terry"};Personcharlotte=newPerson{Name="Weiss,Charlot

c# - LINQ 内连接与左连接

我尝试使用扩展语法在我拥有的两个列表上使用LINQ创建左连接。以下内容来自Microsoft帮助,但我对其进行了修改以显示宠物列表没有任何元素。我最终得到的是一个包含0个元素的列表。我认为这是因为正在进行内部连接。我最终想要的是一个包含3个元素(3个Person对象)的列表,其中为缺失的元素填充了空数据。即左连接。这可能吗?Personmagnus=newPerson{Name="Hedlund,Magnus"};Personterry=newPerson{Name="Adams,Terry"};Personcharlotte=newPerson{Name="Weiss,Charlot

c# - 如何使用linq找到最小值

这个问题在这里已经有了答案:HowtouseLINQtoselectobjectwithminimumormaximumpropertyvalue(20个答案)关闭8年前。我有一个classA{publicfloatScore;...}和一个IEnumerableitems并想找到A得分最低。使用items.Min(x=>x.Score)给出最小分数而不是最小分数的实例。如何通过仅一次迭代我的数据来获取实例?编辑:只要有三个主要解决方案:编写扩展方法(由Svish提出)。优点:易于使用和评估每个项目仅得分一次。缺点:需要扩展方法。(我为我的应用程序选择了这个解决方案。)使用聚合(由Da

c# - 如何使用linq找到最小值

这个问题在这里已经有了答案:HowtouseLINQtoselectobjectwithminimumormaximumpropertyvalue(20个答案)关闭8年前。我有一个classA{publicfloatScore;...}和一个IEnumerableitems并想找到A得分最低。使用items.Min(x=>x.Score)给出最小分数而不是最小分数的实例。如何通过仅一次迭代我的数据来获取实例?编辑:只要有三个主要解决方案:编写扩展方法(由Svish提出)。优点:易于使用和评估每个项目仅得分一次。缺点:需要扩展方法。(我为我的应用程序选择了这个解决方案。)使用聚合(由Da

c# - 获取随机子集合的最佳 LINQ 查询 - Shuffle

请提出一种最简单的方法,从具有“N”项的集合中获取计数为“n”的随机混洗集合。其中n 最佳答案 根据mquander的回答和DanBlanchard的评论,这里有一个LINQ友好的扩展方法,它执行Fisher-Yates-Durstenfeldshuffle://takenrandomitemsfromyourCollectionvarrandomItems=yourCollection.Shuffle().Take(n);//...publicstaticclassEnumerableExtensions{publicstatic

c# - 获取随机子集合的最佳 LINQ 查询 - Shuffle

请提出一种最简单的方法,从具有“N”项的集合中获取计数为“n”的随机混洗集合。其中n 最佳答案 根据mquander的回答和DanBlanchard的评论,这里有一个LINQ友好的扩展方法,它执行Fisher-Yates-Durstenfeldshuffle://takenrandomitemsfromyourCollectionvarrandomItems=yourCollection.Shuffle().Take(n);//...publicstaticclassEnumerableExtensions{publicstatic

c# - 了解 LINQ to SQL 中的 .AsEnumerable()

给定以下LINQtoSQL查询:vartest=fromiinImportswherei.IsActiveselecti;解释后的SQL语句为:SELECT[t0].[id]AS[Id]....FROM[Imports]AS[t0]WHERE[t0].[isActive]=1假设我想在无法转换为SQL的选择中执行一些操作。据我了解,实现此目的的常规方法是执行AsEnumerable()从而将其转换为可用对象。鉴于此更新的代码:vartest=fromiinImports.AsEnumerable()wherei.IsActiveselectnew{//Makesomemethodcal