草庐IT

表达沟通

全部标签

c# - Entity Framework /Linq 表达式从字符串转换为 int

我有一个像这样的表达式:varvalues=Enumerable.Range(1,2);returnmessage=>message.Properties.Any(p=>p.Key==name&&int.Parse(p.Value)>=values[0]&&int.Parse(p.Value)这可以正常编译,但是当它访问数据库时会抛出异常'LINQtoEntitiesdoesnotrecognizethemethod'Int32Parse(System.String)'method,andthismethodcannotbetranslatedintoastoreexpression'

c# - 最短公共(public)前缀的 LINQ 表达式

谁能帮我用一个很好的LINQ表达式来转换另一个列表中的字符串列表,该列表只包含字符串的最短不同公共(public)前缀?前缀的分隔符是..示例:["A","A.B.D","A","A.B","E","F.E","F","B.C"]转到:["A","E","F","B.C"]已删除:“A.B.D”和“A.B”,因为前缀“A”已经在列表中“A”因为是重复的“F.E”因为“F”已经在列表中谢谢! 最佳答案 给你:fromsetin(fromiteminlistselectitem.Split('.')).GroupBy(x=>x[0])s

c# - 从字符串属性名称创建通用表达式

我有一个名为sortColumn的变量,它包含我想作为查询结果排序依据的列的文本。我还有一个通用存储库,它将包含我要排序的字段的表达式作为参数。我似乎无法从字符串属性名称获取表达式。所以我拥有的通用存储库包含以下方法publicIEnumerableGet(Expression>criteria,Expression>orderBy,intpageIndex,intpageSize,boolisAssendingOrder=true,EnumDeletePolicydeletePolicy=EnumDeletePolicy.ExcludeDeleted)注意此Get的第二个参数是Exp

c# - Shouldly 断言库如何知道应用断言的表达式?

Shouldlyassertionlibraryfor.NET不知何故知道调用断言方法的表达式,因此它能够将其显示到消息中。我试图找出它是如何工作的,但在源代码中迷路了。我怀疑它会查看编译后的代码,但我真的很想看看这是怎么发生的。来自文档map.IndexOfValue("boo").ShouldBe(2);//->map.IndexOfValue("boo")shouldbe2butwas1不知何故Shouldly知道表达式map.IndexOfValue("boo")并且能够在测试失败消息中显示它。有谁知道这是怎么发生的? 最佳答案

C# lambda 表达式和 IComparer

我在C#中使用lambda表达式对数组进行排序和搜索。我不想在我的类中实现IComparer接口(interface),因为我需要对多个成员字段进行排序和搜索。classWidget{publicintfoo;publicvoidBar(){Widget[]widgets;Array.Sort(widgets,(a,b)=>a.foo.CompareTo(b.foo));Widgetx=newWidget();x.foo=5;intindex=Array.BinarySearch(widgets,x,(a,b)=>a.foo.CompareTo(b.foo));}}虽然排序工作正常,但

c# - MVC html 助手如何使用表达式获取对象属性

例如:Html.TextBoxFor(x=>x.ModelProperty)如果我要将这样的表达式作为方法参数,我将如何从表达式中获取引用的属性?我在表达式方面的经验有些有限,而且根据我所知道的,我不明白它是如何工作的。 最佳答案 您可以像这样轻松获取属性名称:varmetadata=ModelMetadata.FromLambdaExpression(expression,html.ViewData);varpropName=metadata.PropertyName;或者您可以获得属性及其属性:MemberExpressionm

c# - 有效消除 .NET 表达式树中的公共(public)子表达式

我已经编写了一个DSL和一个从中生成.NET表达式树的编译器。树中的所有表达式都是无副作用的,并且表达式保证是“非语句”表达式(没有局部变量、循环、block等)。(编辑:树可能包括文字、属性访问、标准运算符和函数调用——它们可能在内部做一些奇特的事情,比如内存,但在外部没有副作用)。现在我想对其进行“公共(public)子表达式消除”优化。例如,给定一棵对应于C#lambda的树:foo=>(foo.Bar*5+foo.Baz*2>7)||(foo.Bar*5+foo.Baz*2...我想生成树等效项(忽略一些短路语义被忽略的事实):foo=>{varlocal1=foo.Bar*5

c# - 获取在 .NET 3.5 中的 Lambda 表达式中使用的属性名称

我有一个问题困扰了我一段时间,但我找不到答案。我需要获取在Lambda表达式中引用的属性的名称。我会将lambda表达式提供给一个返回字符串的方法。例如,如果我有:x=>x.WeirdPropertyName然后该方法将返回:"WeirdPropertyName"我读到可以用表达式树来完成,但我没有找到答案。感谢您的帮助 最佳答案 给你:stringGetPropertyName(Expression>property){varpropertyInfo=(property.BodyasMemberExpression).Member

javascript - 在 Angular.js 的 ngModel 中使用表达式

在我的Controller中提供代码:$scope.entity={firstName:'Jack',lastName:'Bauer',location:{city:'NewYork'}};$scope.path='location.city';如何将ngModel动态绑定(bind)到path指定的entity的属性?我试过类似的方法,但无济于事: 最佳答案 Slava,我不太确定这是否是个好主意。但无论如何,您需要通过将此属性添加到您的输入ng-model-options="{getterSetter:true}来让您的模型ge

javascript - 如何在 javascript 中组合 str.replace() 表达式?

我想将所有这些表达式组合成一个,但不知道该怎么做,它需要删除结尾的空格并删除开头的空格,但将两个单词之间的空格缩短为only一个(如果不止一个)。谢谢var_str=document.contact_form.contact_name.value;name_str=_str.replace(/\s+/g,'');str_name=name_str.replace(/\s+$/g,'');name=str_name.replace(/^\s+/g,'');document.contact_form.contact_name.value=name; 最佳答案