草庐IT

generic-lambda

全部标签

使用泛型类型的 C# lambda 查询

我有三个类,它们都有一个属性Date。我想编写一个通用类来返回一个日期的所有记录。现在的问题是:如何使用泛型类型T编写lambda表达式?简单的代码如下(我不会编译,因为“r.Date”不会工作,但这是我想要达到的效果)ClassGenericService:IGenericServicewhereT:class{...readonlyIGenericRepository_genericRepository;publicIEnumerableGetRecordList(DateTimedate){varquery=_genericRepository.FindBy(r=>r.Date=

c# - Foreach/For 循环替代 lambda 函数?

我们使用for或foreach循环遍历集合并处理每个条目。C#中所有这些用于集合的新lambda函数是否有替代方案?传统的做法foreach(varvinvs){Console.write(v);}有没有类似的东西?vs.foreach(v=>console.write(v)) 最佳答案 List有ForEach方法,但是IEnumerable没有。关于这个有很多问题/答案。我认为它没有在IEnumerable中实现的主要原因是Enumerables上的Linq“意味着”没有副作用,因为它是一种查询语言。EricLippert在他的

C# Lambda 函数 : returning data

我是不是遗漏了什么或者无法从lambda函数返回一个值,例如..对象测试=()=>{returnnewObject();};或stringtest=()=>{返回“你好”;};我收到构建错误“无法将lambda表达式转换为类型‘string’,因为它不是委托(delegate)类型”。好像这个语法赋值的是lambda而不是lambda的结果,这是我没想到的。我可以通过将函数分配给Func并按名称调用它来实现所需的功能,但这是唯一的方法吗?请不要“你为什么需要这样做?”关于我的例子。提前致谢! 最佳答案 这是可能的,但您正在尝试将la

c# - 如何解决错误 : Inconsistent accessibility: parameter type for generic c# interface?

将此代码写入我的项目时出现错误Error1Inconsistentaccessibility:fieldtype'System.Collections.Generic.List'islessaccessiblethanfield'Jain_milan.addchild.m_children'Error2Inconsistentaccessibility:parametertype'System.Collections.Generic.List'islessaccessiblethanmethod'Jain_milan.addchild.addchild(System.Collectio

c# - 如何使用 lambda 表达式来过滤数据行?

如何使用Col1="MyValue"在数据表中搜索行我在想类似的事情Assert.IsTrue(dataSet.Tables[0].Rows.FindAll(x=>x.Col1=="MyValue").Count==1);但这当然行不通! 最佳答案 您可以使用LINQtoDataSets这样做:Assert.IsTrue(dataSet.Tables[0].AsEnumerable().Where(r=>((string)r["Col1"])=="MyValue").Count()==1);请注意,您也可以在不调用Assert的情况

c# - 比较 : LINQ vs LAMBDA Expression

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭12年前。我需要讨论有关LINQ和Lambda表达式的性能。哪个更好?

C# 在 lambda 表达式中声明变量

我想像这样做一个简单的lambda表达式:IListlist=GetSomeList();MyEntity1result=list.SingleOrDefault(e=>GetMyEntity2(e)!=null&&GetMyEntity2(e).Id!=null&&GetMyEntity2(e).Id>0);这很完美,但是从MyEntity1获取MyEntity2并不是那么简单,所以我想在lambda表达式中声明一个变量来保存MyEntity2并使用它,而不是一次又一次地调用GetMyEntity2方法。这可能吗?注意:代码只是反射(reflect)我真实案例的示例。谢谢!

c# - 'if' 语句条件中的 Lambda 表达式

我是C#的新手,但根据我的理解,这段代码应该可以工作。为什么它不起作用?这是我的代码示例。Listcars//Thishasmanycarsinitializedinitalreadyif(()=>{foreach(Carcarincars){if(car.door==null)returntrue;}}){then.......}简单地说,我想让代码做的就是在任何汽车没有门的情况下运行if语句。尝试编译后出现此错误:Cannotconvertlambdaexpressiontotype'bool'becauseitisnotadelegatetype. 最

c# - 使用 linq 查询和 lambda 表达式选择多列

我是C#ASP.NET的新手,正在开发我的第一个应用程序。我正在尝试创建一个返回数组的linq语句。我有一张产品表。我希望能够为状态==1的每个产品选择名称、ID和价格。我正在努力寻找一种方法来做到这一点。我只能退回单个项目/列。我一直坚持这种方式很长时间。这是我目前所拥有的:try{using(UserDataDataContextdb=newUserDataDataContext()){returndb.mrobProducts.Select(x=>x.Name).OrderBy(x=>x).ToArray();}}如果您查看下面的屏幕截图,您会发现我有2个错误,Select=Ty

c# - 无法将 lambda 表达式转换为类型 'System.Delegate' 因为它不是委托(delegate)类型?

这个问题在这里已经有了答案:Cannotconvertlambdaexpressiontotype'System.Delegate'(4个答案)关闭9年前。我遇到了一个我似乎无法弄清楚的问题,尽管这是Stackoverflow上的一个标准问题。我正在尝试使用以下代码异步更新我的Bingmap(请注意,这是来自旧的Silverlight项目并且似乎在WPF中不起作用)_map.Dispatcher.BeginInvoke(()=>{_map.Children.Clear();foreach(varprojectedPininpinsToAdd.Where(pin=>PointIsVisi