为什么我收到此消息:无法将类型'bool'转换为'string'

1 .net c# casting compiler-errors

以下是我正在使用的代码段.

using System;
using System.Collections.Generic;
using System.Text;

namespace businessTMS
{
    public class SignIn
    {
        public string authenticate(String UserName, String password)
        {  
            dataTMS.SignIn data = new dataTMS.SignIn();
          string authenticate=(string)data.authenticate(UserName, password);
            return authenticate;
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

RSo*_*erg 18

由于此行,您的错误正在发生:

string authenticate = (string)data.authenticate(UserName, password);
Run Code Online (Sandbox Code Playgroud)

您将authenticate设置为等于返回布尔值的true/false计算.试试这个.

string authenticate = data.authenticate(UserName, password).ToString();
Run Code Online (Sandbox Code Playgroud)

您还可以通过执行以下操作修改代码以仍返回字符串:

bool authenticate = data.authenticate(UserName, password);
return authenticate.ToString();
Run Code Online (Sandbox Code Playgroud)

首选选项:
此外,我不知道你为什么要返回true/false(bool)的字符串表示...如果它是我的函数,我可能会返回:

return data.authenticate(UserName, password);
Run Code Online (Sandbox Code Playgroud)

我强烈建议您只在"PREFERRED OPTION"区域中返回布尔值.没有明显的理由将其保留为字符串格式.