[英]how to get a linq query result to int
下面的查询返回单个值,例如 50。我希望将它分配给 int,以便我可以使用该值进行一些计算。 我怎样才能做到这一点
var LTLimit = from a in dbavailability.tACLicenseTypes
where a.License_Type == "Long Term"
select a.Limit;
string AST = "";
我不完全清楚你在问什么,但大概你的 Linq 查询返回的数据类型不是int
,你想将它转换为 int? 如果是这样,只需将其转换为 int:
var LTLimit = (from a in dbavailability.tACLicenseTypes
where a.License_Type == "Long Term"
select a.Limit).ToList();
int LTLimitInt = 0
if (!int.TryParse(LTLimit.First(), out LTLimitInt))
{
Console.WritLine("LTLimit is not a number!")
}
由于您已经更新了您的问题,这里有一个将返回的数字转换为 int,乘以 2,然后将结果转换为字符串的解决方案:
var LTLimit = (from a in dbavailability.tACLicenseTypes
where a.License_Type == "Long Term"
select a.Limit).ToList();
int LTLimitInt = 0;
string multipliedResultStr = string.Empty;
if (!int.TryParse(LTLimit.First(), out LTLimitInt))
{
Console.WritLine("LTLimit is not a number!")
}
else
{
multipliedResult = (LTLimitInt * 2).ToString();
Console.WriteLine(string.Format("Result is {0}, multipliedResult ));
}
更正了从列表中获取第一项的代码。
查询的返回类型是什么? 如果返回的类型是另一种原始数据类型,如字符串,那么您可以尝试使用以下方法将其转换为整数:
var i = Convert.ToInt32(LTLimit);
或使用:
int.TryParse(LTLimit, out var i);
但是,如果数据首先以正确的类型存储会更好。
以下代码是检索查询中返回的第一个整数的一种方法:
var LTLimit = (from a in dbavailability.tACLicenseTypes
where a.License_Type == "Long Term"
select a.Limit).ToList();
int limit = LTLimit[0];
您可以在 where() 之后使用 Sum() 作为对象属性的值
像这个bonus.Where(b => b.Id == x.key && b.RequiredScore.HasValue).Sum(b => b.RequiredScore.Value);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.