【c#-在LINQ JOIN中添加第二个条件】教程文章相关的互联网学习教程文章

c# – LINQ的意外输出当按Contains(变量)过滤时【代码】

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication1 {class Program{static void Main(string[] args){string s = "g";string[] color = { "greena", "browna", "bluea" };var query = color.Where(c => c.Contains(s));Console.WriteLine(query.Count());s = "a";query = query.Where(c => c.Contains(s));Console.WriteLine(q...

C#LINQ比较列表值【代码】

我有两个不同自定义类型的列表.两种类型共享2个共同属性. 例如:List<foo>; List<bar>;它们都具有属性,例如名为Name和Age. 我想返回一个包含所有bar对象的新List,其中bar的Name和Age属性出现在任何foo对象中.最好的方法是什么? 谢谢解决方法:假设共享属性正确实现了相等,您可能希望执行以下操作:// In an extensions class somewhere. This should really be in the standard lib. // We need it for the sake of type inference...

c# – Linq / Enumerable任何Vs包含【代码】

我已经解决了我遇到的一个问题但是虽然我已经发现了某些东西是如何工作的(或者没有)我不明白为什么. 因为我是那种喜欢知道“为什么”的人,我希望有人可以解释: 我有项目列表和相关评论,我想区分管理员评论和用户评论,所以我尝试了以下代码:User commentUser = userRepository.GetUserById(comment.userId); Role commentUserRole = context.Roles.Single(x=>x.Name == "admin"); if(commentUser.Roles.Contains(commentUserRole)...

c# – 为什么这个Linq函数在不是时返回true?【代码】

我有一个“微类”,我写了一些快速数据操作. 这是项目:class AEmp {public AEmp() {Parts = new AParts();}public string Badge { get; set; }public AParts Parts { get; set; }public int Days { get; set; } }这是清单:class AEmps {private List<AEmp> list;public AEmps() {list = new List<AEmp>();}public AEmp this[string badge] {get { return list.SingleOrDefault(e => e.Badge == badge); }}public void Add(AEmp it...

c# – 比较和分配Linq中的元素【代码】

假设我已经(按照此处未显示的日期)排序了一个数字列表:5, 7, 10, 4, 3, 7, 4我想得到平均增加,所以5到7然后7到10和3到7是(2 3 5)/ 3我也希望平均减少10到4,4到3和7到4是(6 1 3)/ 3 在Linq有一个简单的方法吗?解决方法:我会先计算两个连续数字之间的变化.这可以通过跳过第一项来完成与Enumerable.Zip相同的列表.然后,您可以获得正在向上移动的更改或正在向下移动的更改并计算其平均值:var changes = list.Zip(list.Skip(1), (x,y...

c# – 使用Linq到GroupBy和Sum数据表【代码】

嗨,我有一个像这样的数据表:Id Amount 1 Amount 2 Amount 3 1 2 2 2 12 4 6 4 12 6 6 5 22 7 2 1 22 7 2 2我需要得到这样的数据表:Id Amount 1 Amount 2...

C#.Net 3.5使用LINQ替换文件扩展名的代码【代码】

我已经编写了这个非常简单的函数来在C#.NET 3.5中使用LINQ替换文件扩展名,但是我觉得有更优雅的方法来执行此操作. (我不打算在这里使用LINQ – 只是寻找更优雅的方法.)想法?private string ReplaceFileExtension(string fileName, string newExtension){string[] dotSplit = fileName.Split('.');return String.Join(".", dotSplit.Take(dotSplit.Length - 1).ToArray()) + "." + newExtension;}(我知道如果原始文件名没有点,这将...

c# – 在List上执行LINQ操作【代码】

我有这样的结构public struct MyStruct {public string Name;//More fields and construtors }现在如果我有List< MyStruct>有没有办法使用列表的Contains()功能? 这不编译: if(_myStructList.Contains(x => x.Name ==“DAMN!”)){// DO STUFF} 这是错误:Cannot convert lambda expression to type 'MyStruct' because it is not a delegate type我猜那么这不会与结构一起使用?!解决方法:不使用Linq的Enumerable.Any的替代方法...

c# – 通过使用LINQ跳过空值将Dictionary转换为Dictionary【代码】

我有以下产品类:public class Product {public string Name { get; set; }public float Price { get; set; } public int? CategoryId { get; set; } }现在我必须计算每个CategoryId的产品数量,并将它们放在Dictionary< int,int>中.因此:IQueryable<Product> products = _productServices.GetAll(); //return IQueryable<Product>Dictionary<int, int> productDict = products.ToList().GroupBy(p => p.CategoryId).ToDictio...

c# – 从LINQ集合中删除项目【代码】

我想我正确地提出了我的问题:) 我使用LINQ查询数据库以检索一些数据.请在下面找到代码.var leadtasktype = _context.LeadTypeTaskTypes.Where(l => l.LeadTypeId == item.Value);foreach(LeadTypeTaskType l in leadtasktype){if (l.TaskTypeId == 21){//I need to remove an item which has the tasktype id 21} }正如我在评论中提到的,我需要根据if条件从leadtasktype中删除项目.我该怎么做呢?解决方法: var leadtasktype = _co...

c# – LINQ而不是foreach和list.addrange【代码】

有谁知道以下代码的LINQ代码是什么?:foreach (Bed bed in field.GetBeds()) {asparaguses.AddRange(bed.GetAsparaguses()); }解决方法:使用SelectMany展平嵌套列表asparaguses.AddRange(field.GetBeds().SelectMany(bed => bed.GetAsparaguses()));

c# – Linq.帮我调整一下!【代码】

我有一个linq查询导致一些超时问题.基本上,我有一个查询返回一个有大约500,000条记录的表的前100个结果. 这是查询:using (var dc = CreateContext()){var accounts = string.IsNullOrEmpty(searchText)? dc.Genealogy_Accounts.Where(a => a.Genealogy_AccountClass.Searchable).OrderByDescending(a => a.ID).Take(100): dc.Genealogy_Accounts.Where(a => (a.Code.StartsWith(searchText)|| a.Name.StartsWith(searchText))&& a...

C#3.0中的新增功能09 LINQ 标准查询运算符 02 查询表达式语法

连载目录 【已更新最新开发文章,点击查看详细】 某些使用更频繁的标准查询运算符具有专用的 C# 语言关键字语法,使用这些语法可以在查询表达式中调用这些运算符。 查询表达式是比基于方法的等效项更具可读性的另一种查询表示形式。 查询表达式子句在编译时被转换为对查询方法的调用。 查询表达式语法表 下表列出包含等效查询表达式子句的标准查询运算符。方法 C# 查询表达式语法 Cast 使用显式类型化范围变量,例如:from int ...

c# – 使用linq 组合两个可能的空列表【代码】

参见英文答案 > Merge two IEnumerables in elegant way [closed] 2个我有两个清单:var myIds = new List<int>(){1, 2, 3};var yourIds = new List<int>(){2, 3, 4};这两个列表可以组合成一个这样的:myIds.Union(yourIds) .Select(x => new { Id = x,Mine = myIds.Contains(x), Yours = yourIds.Contains(x)});新列表如下所示:Id Mine Yours --------------------- 1 T ...

C#3.0中的新增功能09 LINQ 基础07 LINQ 中的查询语法和方法语法【代码】【图】

连载目录 【已更新最新开发文章,点击查看详细】 介绍性的语言集成查询 (LINQ) 文档中的大多数查询是使用 LINQ 声明性查询语法编写的。但是在编译代码时,查询语法必须转换为针对 .NET 公共语言运行时 (CLR) 的方法调用。 这些方法调用会调用标准查询运算符(名称为 Where、Select、GroupBy、Join、Max 和 Average 等)。 可以使用方法语法(而不查询语法)来直接调用它们。 查询语法和方法语法在语义上是相同的,但是许多人发现...