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

c# – LinQ of Value in Value【代码】

我有以下词典:public Dictionary<string,object> Items;现在我需要获取Dictionary-item的Value来自特定类型的所有Items. (例如“int”) var intValues = Items.OfType< KeyValuePair< string,int>>根本行不通. 没有LinQ的代码将是这样的:var intValues=new Dictionary<string,int>() foreach (var oldVal in Items) {if (oldVal.Value is int) {intValues.add(oldVal.Key, oldVal.Value);} }(更新)我的例子应该显示基本的想法.但...

C#3.0中的新增功能09 LINQ 04 基本 LINQ 查询操作【代码】

连载目录 【已更新最新开发文章,点击查看详细】 本篇介绍 LINQ 查询表达式和一些在查询中执行的典型操作。 获取数据源 在?LINQ?查询中,第一步是指定数据源。?和大多数编程语言相同,在使用 C# 时也必须先声明变量,然后才能使用它。?在?LINQ?查询中,先使用?from?子句引入数据源 (customers) 和范围变量 (cust) 。// 从 IEnumerable<Customer> 中查询所有的客户信息 var queryAllCustomers = from cust in customersselect cu...

C#中“假”linq理解语法关键字的可用选项?【代码】

虽然在某些情况下我会使用方法链编写一些东西(特别是如果它只是一两个方法,比如foo.Where(..).ToArray()),在很多情况下我更喜欢LINQ查询理解语法相反(规范中的“查询表达式”),如下所示:var query =from filePath in Directory.GetFiles(directoryPath)let fileName = Path.GetFileName(filePath)let baseFileName = fileName.Split(' ', '_').First()group filePath by baseFileName into fileGroupselect new{BaseFileName = fi...

c# – 将LINQ匿名类型转换为IList <>时出错【代码】

我有以下LINQ加入:var query = _ABC.Table.Join(_DEF.Table, cef => ...etc... }).Join(_GHI.Table, extf => ...etc...}).Select(jcefn=> new { XYZ = jcefn....etc...});linq很好并且返回我期望的(在LINQ pad中验证). 我试图将查询传递给具有此签名的扩展方法:public PagedList(IQueryable<T> source, int pageIndex, int pageSize) { ... }所以我认为这是可以接受的:var FPaged = new PagedList<MyObject>(query.ToList(), pa...

c# – 如何使用Linq按长度排序数组,然后使用值【代码】

按顺序给出以下值:011124011120111231905我怎么能用Linq对它进行排序:List<string> values = new List<string>() { "011124", "01112", "011123", "1905" };..所以它实际上是这样的:List<string> values = new List<string>() { "011124", "011123", "01112", "1905" };(更新:添加’1905′,因为之前的演示可以轻松地使用int排序 – 很抱歉混淆)解决方法:试试这个片段:var sortedValues = values.OrderByDescending(x => x.Len...

c# – LinQ WHERE string.Contains或string.IndexOf?【代码】

我需要写一些可以得到相同结果的东西:var result = collection.Where( o => o.Name.IndexOf( "some_string2" ) != -1 || o.Name.IndexOf( "some_string_2" ) != -1 || o.Name.IndexOf( "some_string3" ) != -1 )要检查的字符串的数量和值(some_string_1,2和3)是未知的(来自DB),所以更通用的… 我试过以下,但失败了……var stringsToCheck = someCommaSeparatedStrings.ToLower().Split( ',' ).ToList(); var result = collection....

c# – 正确使用LINQ来改组牌组【代码】

我正在尝试写一个简单的纸牌游戏.为了提出一个好的改组算法,我遇到了Jeff Atwood在编码恐怖片上的post. 但是,当我在调用构造函数后查看对象的内容时,它们不会被洗牌. 以下是我尝试使用Jeff的解决方案:class MainDeck : List<Card> {public MainDeck(){this.Add(new Card(1, "Hearts"));this.Add(new Card(2, "Hearts"));this.Add(new Card(3, "Hearts"));...this.OrderBy(a => Guid.NewGuid());} }这是卡的代码:class Card{strin...

c# – Linq结果如果为null则为零【代码】

我怎么写这样的东西:int result = database.Where(x => x.Name == "Criteria").Sum(x => x.Count)) ?? 0;除非linq没有找到任何东西,否则它将返回总和值,它将返回0. 编辑:该字段不能为空. 编辑2:我正在使用实体框架.解决方法:您与原始查询非常接近.你只需要转换你的Count变量:int result = database.Where(x => x.Name == "Criteria").Sum(x => (int?)x.Count) ?? 0;这样做比将它包装在Try / Catch中更有效率和优雅. 我怀疑你正...

c# – 获取LINQ中的所有ve数【代码】

我使用以下内容:int[] a = {1, 2, 3, 0, 5, 0}; int x = a.Select(b => b != 0).Count(); 我得到6作为值,我怎么能得到4而不是6. 有人可以指导我.解决方法: int[] a = {1, 2, 3, 0, 5, 0}; int x = a.Where(b => b != 0).Count();

c# – 使用linq Group运算符展平查询结果的正确方法是什么【代码】

这是数据结构,我从NHibernate Query回来了public Class PaperResult {public Guid SubjectId {get;set}public Guid StudentId {get;set}public string Name {get;set}public string Email {get;set}public int Marks {get;set}}我的疑问是var resultEntities = _repository.Query<PaperResult>().where(t => t.Id == testId) studentResults = resultEntities.GroupBy(x => x.StudentId)返回,IQueryable,现在我把它投射到课堂上p...

c# – Visual Studio 2015 LinqToExcel不起作用【代码】

我有一个用VS2012编写的asp.net应用程序.在我搬到VS2015之前,我一直在使用LinqToExcel而没有任何问题.这是我的代码:var excel = new ExcelQueryFactory(fileName); var entriesQuery = from entry in excel.Worksheet<VEntry>(0)where entry.MovieTitle != nullselect entry;var entries = entriesQuery.ToList();VEntry类public class VEntry{[ExcelColumn("id kolekcji")][DefaultValue("")]public String CollectionId { get; ...

c# – LINQ to Entities对带有嵌套对象的Union的null引用【代码】

给定以下类结构:public class User // DB model {public Guid Id { get; set; }public Address Address { get; set; }// And other propeties }public class Invitation // DB model {public Guid Id { get; set; }// And other propeties }public class Address // DB model {public string Zip { get; set; }// And other properties }public class ResponseModel {public Guid Id { get; set; }public ResponseAddress Addr...

C#使用LINQ将带有嵌套列表的两个列表合并为一个【代码】

我在c#中有两个以下结构列表. <>中的每个名称是一个清单.我想将这两个列表合并到一个List< Server>中.以下伪代码显示两个这样的列表以及结果应如何:<Servers> <Servers> +... +... +-- Server A,1 +-- Server A,1 | +... | +... | +--<Maps> | +--<Maps> | +--M...

c# – 将Linq表达式“obj => obj.Prop”转换为“parent => parent.obj.Prop”【代码】

我有一个Expression< Func< T,object>>类型的现有表达式;它包含像cust =>这样的值cust.Name. 我还有一个类型为T的字段的父类.我需要一个接受上述参数的方法,并生成一个以父类(TModel)作为参数的新表达式.这将用作MVC方法的表达式参数. 因此,cust => cust.Name成为parent => parent.Customer.Name. 同样,cust => cust.Address.State成为parent => parent.Customer.Address.State. 这是我的初始版本://note: the FieldDefinition ob...

c# – EF6 Linq Query.仅包含返回子表的第一个条目【代码】

我想检索一个给定的口袋妖怪的邂逅列表,因为口袋妖怪可以在很多地方遇到,所以我一直在尝试很多变种var currentPokemon = _context.Pokemon.Where(mon => mon.Id == id).Include(mon => mon.Encounters).FirstOrDefault();结果是一个包含所有相关数据的Pokemon对象,但只有FIRST遭遇被检索并放入一个集合中,结果如下:看看这个数据库,大约有20次遇到caterpie,我想要访问所有这些,但只是得到了它. Pokemon类的外观(省略了相关字段):[...