草庐IT

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T

c# - 如何使用 LINQ 执行不区分大小写的 GUID 比较?

在下面的代码中,我想比较两个GUID。问题是我没有返回任何任务,因为GUID的大小写不同(大写与小写)。我需要执行不区分大小写的比较。MembershipUsermembershipUser=Membership.GetUser();stringstrUserId=membershipUser.ProviderUserKey.ToString();GuiduserId=newGuid(strUserId.ToUpper());lblUserId.Text=userId.ToString();DataModelEntitiesdc=newDataModelEntities();varus

c# - 命名空间 'Linq' 中不存在类型或命名空间名称 'System'

这个问题在这里已经有了答案:Thetypeornamespacename'Linq'doesnotexistinthenamespace'System'(10个答案)关闭5年前。当我想使用按钮在C#中编写代码时,它不会转到“.cs”文件来编写C#代码。当我检查项目源时,我发现了这个错误:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;SeverityCodeDescriptionPr

c# - LINQ to Entities - 查询中的 Where IN 子句

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:LinqtoEntities-Sql“IN”clauseHowtoimplementSQL“in”inEntityframework4.0我如何添加WHEREIN语句,例如...SELECT*FROMmyTableWHEREIDIN(1,2,3,4,5)在EntityFramework中

c# - 在 LINQ Select 中赋值?

我有以下查询:drivers.Select(d=>{d.id=0;d.updated=DateTime.Now;returnd;}).ToList();drivers是一个包含不同ID和更新值的列表,因此我正在更改Select中的值,但这是执行此操作的正确方法。我已经知道我不会将驱动程序重新分配给驱动程序,因为Resharper对此有所提示,所以我想如果这样会更好:drivers=drivers.Select(d=>{d.id=0;d.updated=DateTime.Now;returnd;}).ToList();但这仍然是有人应该为驱动程序列表中的每个元素分配新值的方式吗?

c# - 为什么 Linq to Entity Select Method 翻转投影列表属性?

我对linqtoentity/Json/MVC.net4有最奇怪的行为我有这段代码,出于某种奇怪的原因,所有其他列表的属性顺序都颠倒了。varoutput=db.FooBar.Where(a=>a.lookupFoo==bar).Select(a=>newList{//value'sarethesameperrow//fordemonstrationsake.a.fooBarA,//Always12.34a.fooBarB,//Always12.34a.fooBarC,//Always0a.fooBarD//Always0//lazycastingtodoublefromint});r

LINQ 和动态继承的 C# 编译错误

考虑以下代码(为了这个测试,它没有做任何特殊用途-它只是为了演示发生的错误)Dictionaryd=newDictionary(){{"a",123},{"b",Guid.NewGuid()},{"c","HelloWorld"}};d.Where(o=>o.Key.Contains("b")).ForEach(i=>Console.WriteLine(i.Value));//retunstheGuidvalue,asexpected.我想包装Dictionary使用继承:publicclassCustomDictionary:Dictionary{}下面是上面使用这个派生类的例子:C

c# - LINQ to Objects 是否保持其顺序

我有一个List而是想将它们转换为List以进行简单处理,执行以下操作:Listpersons=GetPersonsBySeatOrder();ListseatNames=persons.Select(x=>x.Name).ToList();Console.WriteLine("Firstinline:{0}",seatNames[0]);是.Select()LINQtoObjects对象上的声明保证不更改列表成员的顺序?假设没有添加明确的不同/分组/排序此外,如果任意.Where()先使用子句,是否仍然保证保持相对顺序,还是有时使用非迭代过滤?正如费尔明在上面评论的那样,这本质上是一

c# - 如何发出 System.Linq.Expression?

我有一些代码可以生成各种Func代表使用System.Linq.Expressions和Expression.Lambda>.Compile()等等我希望能够将生成的函数序列化为一个程序集供以后使用。过去我用System.Reflection.Emit做了一些事情,但现在Linq表达式我不想再走那条路了。是否有一种机制可以序列化已编译的表达式或来自Expressions的某种桥接器?命名空间到Emit命名空间?编辑上下文的一些背景:我正在研究一个查询引擎(主要是为了我自己的熏陶和享受)。给定一条SQL语句,我想将其解析并转换为lambda函数,然后将其序列化到磁盘以供稍后(并重复执行)

c# - 尝试在所有 Linq 查询中使用 Plinq 是否可以?

我读到如果PLinq发现PLinq更昂贵,它会自动使用非并行Linq。所以我想为什么不对所有事情都使用PLinq(如果可能),让运行时决定使用哪一个。应用程序将部署到多核服务器,我可以开发更多代码来处理并行性。默认使用plinq有哪些陷阱? 最佳答案 一个陷阱是您失去了利用集合排序的能力。采用以下代码:varresults=newint{0,1,2,3};vardoSomethingSpecial=(fromrinresults.AsParallel()selectr/2).ToArray();您不能指望结果按顺序出现,所以结果可能