草庐IT

c# - linq 按连续 block 分组

假设我有以下数据:TimeStatus10:00On11:00Off12:00Off13:00Off14:00Off15:00On16:00On我如何使用Linq将其分组为类似的东西[On,[10:00]],[Off,[11:00,12:00,13:00,14:00]],[On,[15:00,16:00]] 最佳答案 创建一个GroupAdjacent扩展,例如列出的here.然后就这么简单了:vargroups=myData.GroupAdjacent(data=>data.OnOffStatus);

c# - Linq All 在空集合上

我需要检查是否所有定义都包含一些特定数据。除了GroupBy返回空集合的情况外,它工作正常。varexist=dbContext.Definitions.Where(x=>propertyTypeIds.Contains(x.PropertyTypeId)&&x.CountryId==countryId).GroupBy(x=>x.PropertyTypeId).All(...somecondition...);如何重写它以便All在空集合上返回false?更新:它是一个LINQtoSQL,我想在一次调用中执行它。更新2:我认为这可行:varexist=dbContext.Defini

c# - LINQ 中的排序和分组

我有一个字符串元组列表,比如(P1,P2)我想知道是否有一个LINQ语句,我可以在其中按P1(按升序)分组,并让该组包含该组的所有P2值(按降序)。对于输入:("A","B"),("A","C"),("D","B")我想要两组:“A”和“D”(按此顺序,每次)其中“A”组包含“C”和“B”(按此顺序,每次),“D”组包含“B”。这是否可以通过内置的LINQ类实现,还是我需要自己迭代这些组并对其进行排序? 最佳答案 不,这并不难-您只需要跟踪查看的是组还是组中的元素。这是一个示例查询:varquery=fromtupleintuple

c# - 使用 LINQ 连接列表

是否可以连接List>进入List以一种并不可怕的方式进行单一操作,即:List>listOfLists=newList>();ListconcatenatedList=listOfLists.Something...? 最佳答案 listOfLists.SelectMany(l=>l);整行:ListconcatenatedList=listOfLists.SelectMany(l=>l).ToList(); 关于c#-使用LINQ连接列表,我们在StackOverflow上找到一个类

c# - IDENTITY INSERT 和 LINQ to SQL

我有一个SQLServer数据库。该数据库有一个名为Item的表。项目有一个名为“ID”的属性。ID是我表上的主键。这个主键是一个增量值为1的整数。当我尝试插入记录时,我收到一条错误消息:Cannotinsertexplicitvalueforidentitycolumnintable'Item'whenIDENTITY_INSERTissettoOFF.".我正在尝试使用以下代码插入记录:publicintAddItem(Itemi){try{intid=0;using(DatabaseContextcontext=newDatabaseContext()){i.CreatedOn=

C#:Func<> 而不是方法?

这个问题在这里已经有了答案:FuncDelegatevsFunction(6个答案)关闭9年前。这是给所有知情人士的好奇问题:使用Func而不是方法有任何危害/缺点吗?简单示例:privatestaticFunc>Foo=(i1,i2,dbc)=>(i1!=0)?dbc.Bar(i2):newList{/*somedefaultvalues...*/};对比privatestaticListFoo(inti1,inti2,DBContextdbc){returni1!=0?dbc.Bar(i2):newList{/*somedefaultvalues...*/};}

c# - 将字符串数组组合在一起

我希望将两个字符串数组的内容合并到一个新列表中,该列表将两者的内容连接在一起。string[]days={"Mon","Tue","Wed"};string[]months={"Jan","Feb","Mar"};//Iwanttheoutputtobealistwiththecontents//"MonJan","MonFeb","MonMar","TueJan","TueFeb"etc...我该怎么做?对于只有两个数组的情况,以下操作很简单:ListCombineWords(string[]wordsOne,string[]wordsTwo){varcombinedWords=ne

c# - 如何在 linq-to-Nhibernate 中使用多个条件连接

我有两个类(Request和RequestDetail)。我需要通过联接在两个类之间进行LinqToNHibernate查询。varq=SessionInstance.Query().Where(x=>x.State=="Init");varq2=SessionInstance.Query();q2=q2.Where(xx=>xx.Purpose.Contains("PurposeSample"));//ThislinehasaerrorWhenexecution‍‍`q.ToList()‍`q=q.Join(q2,request=>request.Id,detail=>detail.

c# - LINQ To Entities 包含不区分大小写的搜索

我正尝试在linqtoentities中像这样查询我的结果集;varcategoriesList=_catRepo.GetAllCategories();filteredCategories=categoriesList.Where(c=>c.CategoryName.Contains("for"));但是,我没有得到任何结果,因为数据库中的CategoryName是For(UpperCase)。我还检查了sqlserver排序规则,它设置为_CI_AS。我不知道如何使用包含来过滤不区分大小写的字符串?我基本上想要有人喜欢;filteredCategories=categoriesLi

c# - 为什么查询结果少了一个字符?

看一下代码:stringexpression="x&~y->(s+t)&z";varexprCharsNoWhitespace=expression.Except(new[]{'','\t'}).ToList();varexprCharsNoWhitespace_2=expression.Replace("","").Replace("\t","").ToList();//outputforexaminationConsole.WriteLine(exprCharsNoWhitespace.Aggregate("",(a,x)=>a+x));Console.WriteLine(expr