type conversion-如何在C#中将整数转换为布尔值
本文关键字:整数 转换 布尔值 conversion- type | 更新日期: 2023-09-27 17:58:26
我有一个返回的存储过程
- 0-没有用户没有应用程序表中没有角色
- 1-true,有你需要的用户、角色和应用程序
- 2-没有该名称为false的用户
- 3-没有名称为false的角色
当我调用C#中的存储过程时,我得到:
无法将类型"bool"隐式转换为"int"
public int IsUserInRole(IsUserInRole userInRole)
{
var model = _userRepository.CheckIfUserIsInRole(userInRole);
if (model == 1)
{
return true;
}
else
{
return false;
}
}
我需要使用它来验证登录的用户被分配了什么角色,这样我就可以稍后基于UserRole
进行授权。
所以我需要SP的true或false,这意味着我需要将Integer转换为Boolean
我尝试了一种更好的方法将int转换为布尔值和http://www.dotnetperls.com/convert-bool-int但我在那里运气不好:)。
如何解决这个问题有什么建议吗?
这将解决您的错误(使用bool
返回类型而不是int
),并使您的代码更短:
public bool IsUserInRole(IsUserInRole userInRole)
{
return _userRepository.CheckIfUserIsInRole(userInRole) == 1;
}
如果intVal
是一个整数,boolVal
是一个布尔变量,则可以执行以下操作:
boolVal = intVal==1;
查看您的方法,您已将返回值指定为int
,并试图返回导致指定错误的boolen值。如果您将返回类型更改为bool
,那么您的代码将正常工作。以更简单的方式,您可以修改方法签名,如下所示:
public bool IsUserInRole(IsUserInRole userInRole)
{
return _userRepository.CheckIfUserIsInRole(userInRole)==1;
}