[英]How do I call function in select function in LINQ
我正在使用LINQ
但是在LINQ
select查询中调用CheckValuedoubleOrNot()
函数时遇到问题。
如何在LINQ中的“选择查询”中调用函数? CheckValuedoubleOrNot
是我在select语句中使用的函数。
我在这行中收到错误消息:
listBoardData.Select(CheckValuedoubleOrNot(x=>x.FromDuration)==false));
public ActionResult CheckValuedoubleOrNot(dynamic value)
{
double price;
dynamic returnType;
if (Double.TryParse(value, out price))
{
returnType = price;
}
else
{
returnType = false;
}
return returnType;
}
为什么要使用Select
? 我建议使用Where
,这行代码:
public class DoubleResult
{
public bool IsValid { get; set;}
public double Result {get; set;}
}
public DoubleResult CheckValuedoubleOrNot(dynamic value)
{
double price;
if (Double.TryParse(value, out price))
{
return new DoubleResult { IsValid = true, Result = price };
}
else
{
return new DoubleResult { IsValid = false };
}
}
listBoardData.Where(x => !CheckValuedoubleOrNot(x.FromDuration).IsValid)
如果我对您的理解正确,那么您将需要以下内容:
listBoardData.Select(d => CheckValuedoubleOrNot(d.FromDuration)))
.Where(v => !v);
在“ Select
,将集合的元素重新映射到IEnumerable<ActionResult>
,即double或bool的元素。 在Where
筛选出假值并仅包含双精度元素的地方。
已解决
listBoardData.Select(x => CheckValuedoubleOrNot(x.FromDuration)!= null);
public static double CheckValuedoubleOrNot(string value){double price; double returnType = 0.0; 如果(Double.TryParse(value,out price)){returnType = price; } return returnType; }
我收到错误有两个原因
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.