草庐IT

Linq2XSD

全部标签

c# - LINQ 与跳过和采取

我使用下面的代码从IEnumerable中获取一些项目,但它总是将源返回为null并计数为0,实际上IEnumerable中存在项目privatevoidGetItemsPrice(IEnumerableitems,intcustomerNumber){vara=items.Skip(2).Take(5);}当我尝试访问a时,它的计数为0。这里有什么问题吗? 最佳答案 请记住,代码中的变量a本身就是一个查询。它不是查询执行的结果。当您使用立即窗口查看查询时(实际上与延迟执行的查询有关,否则您将获得结果而不是查询),它将始终显示{Sy

c# - linq where 子句和计数导致空异常

下面的代码有效,除非p.School.SchoolName结果为null,在这种情况下它会导致NullReferenceException。if(ExistingUsers.Where(p=>p.StudentID==item.StaffID&&p.School.SchoolName==item.SchoolID).Count()>0){//Dostuff.}ExistingUsers是一个用户列表:publicListExistingUsers;这里是堆栈跟踪的相关部分:System.NullReferenceException:Objectreferencenotsettoanin

c# - Linq PredicateBuilder - 多个 OR

我正在尝试使用PredicateBuilder,如此处所述-http://www.albahari.com/nutshell/predicatebuilder.aspx下面的代码varpredicate=PredicateBuilder.False();predicate=predicate.Or(p=>p.Locality.Contains(criteria.Locality));predicate=predicate.Or(p=>p.Name.Contains(criteria.Name));predicate=predicate.Or(p=>p.Town.Contains(cri

c# - LINQ to SQL 值介于两个 double 值之间

我正在使用LINQtoSQL查询我的数据库,我有一个与此非常相似的查询:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue)我需要where子句有一个d.Proce>=minValue,和d.Price=(类似于T-SQLBETWEEN子句)。我该怎么做? 最佳答案 这个怎么样:varresult=fromdb.MyTable.Where(d=>(double)d.Price>=minValue&&(double)d.Price

c# - 使用 C# 使用 Linq 更新 XML

我的XML文件结构1TrueStarWarsFiguresLukeSkywalker通过ITEMID从XML中读取数据XDocumentxmlDoc=XDocument.Load(HttpContext.Current.Server.MapPath("data.xml"));varitems=fromiteminxmlDoc.Descendants("item")whereitem.Element("itemID").Value==itemIDselectnew{itemID=item.Element("itemID").Value,isGadget=bool.Parse(item.E

c# - Linq/Lambda OrderBy Delegate for List<string> of IP Addresses

给定Listips=newList();我需要按逻辑顺序对IP地址列表进行排序(即“192.168.0.2”出现在“192.168.0.100”之前)。当前(并且正确地,按字母顺序排列)如果列表包含:192.168.0.1192.168.0.2192.168.0.10192.168.0.200ips.OrderBy(p=>p)返回:192.168.0.1192.168.0.10192.168.0.2192.168.0.200 最佳答案 你需要做一个比较器:(已测试)classIPComparer:IComparer{publicin

c# - LINQ Order By Descending with Null Values on Bottom

这个问题在这里已经有了答案:LINQorderbynullcolumnwhereorderisascendingandnullsshouldbelast(10个答案)关闭8年前。我有这样的表达:troubletickets=db.ServiceTickets.Include(t=>t.Company).Include(t=>t.UserProfile);troubletickets.OrderByDescending(t=>t.UserProfile!=null?t.UserProfile.FirstName:"ZZZ");我必须检查UserProfile是否为null,因为如果不这样

c# - 为 LINQ/Lambda 创建 OrderBy 表达式

我正在创建一个使用Lambda/LINQ进行动态where和orderby的概念验证。以下代码适用于where表达式,但我无法弄清楚如何通过表达式创建订单。对于这个例子,如果可能的话我想保持简单;我宁愿不编写修改表达式树的代码。voidMain(){DateTimeproductSince=DateTime.UtcNow.Subtract(newTimeSpan(1,30,0));Expression>filter=d=>d.CreatedDate>productSince&&d.Priceproducts=GetProducts(filter,Products);Console.Wr

c# - LINQ 和 XDocument : How to create XML file?

我在C#中有一个三个列表,变量名称是l_lstData1、l_lstData2、l_lstData3。文件结构为3个List的取值如下:l_lstData1[0]="India";l_lstData1[1]="chennai";l_lstData1[2]="hyderabad";l_lstData1[3]="calcutta";所以上面的XML(element:Data)的level属性的值为="2"。l_lstData2[0]="vijayawada";l_lstData2[1]="cochin";所以上面的XML(element:Data)的level属性的值为="1"。l_lst

c# - LINQ vs Lambda vs 匿名方法 vs 委托(delegate)

谁能解释一下LINQ、Lambda、匿名方法和委托(delegate)的含义?这三者有何不同?一个可以替换另一个吗?我在谷歌搜索时没有得到任何具体答案 最佳答案 LINQ是一个宽泛的技术名称,涵盖了.NET3.5的大部分内容和C#3.0的变化;“用语言查询”等等。委托(delegate)相当于函数指针;一个“方法句柄”作为一个对象,如果你愿意的话,即Funcadd=(a,b)=>a+b;是一种编写我随后可以调用的委托(delegate)的方法。委托(delegate)还支持事件和其他回调方法。匿名方法是用于创建委托(delegate