LINQ,Lambda,C#,扩展方法
几天来,我第一次使用LINQtoSQL和lambda表达式,我想做以下工作 我有一个字符串扩展方法,它返回一个double。扩展方法测试两个字符串并返回相似性分数。 我有一个使用linq to sql的表中列的字符串值列表,我想使用扩展方法作为一种方式,仅过滤出那些相似性分数等于或大于输入字符串的字符串 到目前为止,我已经得到了下面的答案。我似乎无法测试返回的double的值LINQ,Lambda,C#,扩展方法,c#,linq,lambda,extension-methods,C#,Linq,Lambda,Extension Methods,几天来,我第一次使用LINQtoSQL和lambda表达式,我想做以下工作 我有一个字符串扩展方法,它返回一个double。扩展方法测试两个字符串并返回相似性分数。 我有一个使用linq to sql的表中列的字符串值列表,我想使用扩展方法作为一种方式,仅过滤出那些相似性分数等于或大于输入字符串的字符串 到目前为止,我已经得到了下面的答案。我似乎无法测试返回的double的值 List<int> ids = dc.ErrorIndexTolerances
List<int> ids = dc.ErrorIndexTolerances
.Where(n => n.Token.Distance(s) => .85)
.Select(n => n.ID)
.ToList();
List id=dc.errorIndexTolerance
.其中(n=>n.Token.Distance=>0.85)
.选择(n=>n.ID)
.ToList();
距离方法是返回双精度的扩展方法。Token和s都是字符串。ID是表中的整数ID字段
有人有什么建议吗?较大或相等运算符是=
,而不是=>
List<int> ids =
dc.ErrorIndexTolerances.Where(n => n.Token.Distance(s) >= .85)
.Select(n => n.ID).ToList();
列表ID=
dc.ErrorIndexTolerance.Where(n=>n.Token.Distance>0.85)
.Select(n=>n.ID).ToList();
也许这应该是
n.Token.Distance(s) >= .85)
只是一个打字错误:-)
有人有什么建议吗
我有个建议。。。切勿使用“大于”,仅使用“小于”
。其中(n=>.85
.Where(n => .85 <= n.Token.Distance(s))
.Where(acct => acct.CreateTime <= now
&& acct.StartTime <= order.OrderDate
&& order.FulfilledDate <= acct.EndTime)