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但我在那里运气不好:)。

如何解决这个问题有什么建议吗?

type conversion-如何在C#中将整数转换为布尔值

这将解决您的错误(使用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;
}