Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不能隐式将字符串转换为bool。

不能隐式将字符串转换为bool。
EN

Stack Overflow用户
提问于 2017-04-29 14:38:55
回答 4查看 2.3K关注 0票数 2

我试图在windows窗体应用程序(visual Studio)中编写代码,该应用程序应该从文本框中接收文本,并检查它是否在说一些特殊的内容,并执行文本框所述的操作,例如,如果它说"1 + 1“,则另一个文本框(在代码中称为”输出“)应该说"2”。请检查我的代码,只是说我是一个初学者。另外,我也尝试过一些类似"Convert.ToBoolean(string)“的东西,但是它没有起作用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      private void TextEditor_TextChanged(object sender, EventArgs e)
    {
        TextEditor.Text = "";
        Convert.ToBoolean(TextEditor);

        if (TextEditor.Text = "1 + 1")
        {
            Output.Text = "2";
        }

    }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-04-29 14:48:12

首先:我不认为您需要行(实际上,您甚至没有使用ToBoolean的返回值)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Convert.ToBoolean(TextEditor);

其次,您将抛出一个异常,因为您无法将textBox转换为布尔值--您必须这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Convert.ToBoolean(TextEditor.Text);

但我不认为这在这种情况下是有用的,所以把它置之不理。

第三,您只使用了一个相等操作符--应该这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (TextEditor.Text == "1 + 1")
//...

否则,您将文本指定为"1+1“,然后检查赋值结果(这是分配的结果,因此在这种情况下为"1 + 1")为真。显然,由于赋值是字符串,所以不可能为true,所以编译器告诉您不能将字符串("1 + 1")转换为bool。

不管怎么说,如果你想写一个计算器,我不会硬编码每一个计算的结果。另外,您还可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Output.Text = TextEditor.Text.Split('+').Select(s => Convert.ToInt32(s.Trim())).Sum().ToString();

这将获取文本,在+符号处将其拆分(减法或其他操作),使用LINQ将(修剪后的)操作数转换为整数并对它们进行求和。

但是,由于您的数字可能是错误的(您的评论指出了类似的情况),您应该用一个try catch包围它--而且,由于您不希望一个空输入导致错误,所以可以添加RemoveEmptyEntries选项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try
{
    Output.Text = TextEditor.Text.Split(new []{'+'}, StringSplitOptions.RemoveEmptyEntries).Select(s => Convert.ToInt32(s.Trim())).Sum().ToString();
}
catch (Exception e)
{
    Output.Text = "Wrong input!";
}
票数 5
EN

Stack Overflow用户

发布于 2017-04-29 14:40:49

如果需要布尔运算符,则在本例中为“==”:)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (TextEditor.Text == "1 + 1")
票数 3
EN

Stack Overflow用户

发布于 2017-04-29 15:12:14

有几件事:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    TextEditor.Text = "";

您不想这样做,因为您正在清除用户输入的任何内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Convert.ToBoolean(TextEditor);

这是不需要的,因为您没有存储或使用结果。它实际上不会将TextEditor转换为布尔值“就位”。而且,这不应该编译,它应该是TextEditor.Text

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    if (TextEditor.Text = "1 + 1")

正如其他人所指出,这是分配(而不是比较),这是问题的原因。这就像在说

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if ("1 + 1")

这不是布尔型的。

而且,正如其他人所指出的,您不想硬编码这一点,因为如果人们这样做了,例如,"1 + 2“怎么办?另外,如果他们的输入方式不同,比如"1+1“呢?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43701143

复制
相关文章
c++禁止隐式转换_无法将int隐式转换为类
那么如何阻止它呢? C++ 标准有一条规定: “Implicit conversions will be performed […] if the parameter type contains no template-parameters that participate in template argument deduction” (ISO/IEC 14882:1998, section 14.8.1.4). 也就是说,既在模板参数列表中,又在函数参数列表中的类型不会隐式转换。也就是:
全栈程序员站长
2022/11/10
1.2K0
将字符串转换为date类型_java字符串转date类型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
14.2K0
无法将类型“System.Collections.Generic.IEnumerable<EmailSystem.Model.TemplateInfo>”隐式转换为“System.Collection
List<Model.Template> templateList = templateBLL.RecommendTemplateByOrder(modelEbay);        List<Model.TemplateInfo> recommandlist = templateList.Select(m => new Model.TemplateInfo                 {                     AccountId = m.AccountID,            
跟着阿笨一起玩NET
2018/09/19
1.6K0
python str转bool方法
def str_to_bool(str): return True if str.lower() == 'true' else False
py3study
2020/01/06
4.6K0
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.4K0
mysql整型转字符串_java中如何将字符串转换为字符数组
select * from A order by cast(name as unsigned);
全栈程序员站长
2022/09/27
23.4K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.2K0
Python将字符串转换为列表
We can convert a string to list in Python using split() function.
全栈程序员站长
2022/09/06
6K0
MVC 无法将类型“System.Collections.Generic.List<AnonymousType#1>”隐式转换为“System.Collections.Generic.IList<Mv
1、问题: 2、解决方案:强制指定类型。 解决之。
跟着阿笨一起玩NET
2018/09/19
1.9K0
MVC 无法将类型“System.Collections.Generic.List<AnonymousType#1>”隐式转换为“System.Collections.Generic.IList<Mv
[1154]如何将字符串转换为datetime
1.把datetime转成字符串: 2017-11-23 17:05:18 2.把字符串转成datetime: 2017-11-23 16:10:10 3.把字符串转成时间戳形式: 1511424610.0 4.把时间戳转成字符串形式: 2017-11-23 17:05:18 5.把datetime类型转外时间戳形式: 1511427918.0
周小董
2022/07/27
3.3K0
【春节日更】不能不知的隐式转换
根据转换规则第三点,当运算数一个是对象(数组也属于对象),一个是字符串时,在判断之前会将对象转换成字符串;而[1,2,3]转字符串即为:"1,2,3" ;
用户9914333
2022/07/22
2050
javascript 隐式转换_mysql隐式转换
简单数据类型(也称为原始类型):Undefined、Null、Boolean、Number、String 和 Symbol。ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 复杂数据类型叫 Object(对象)。Object 是一种无序名值对的集合。
全栈程序员站长
2022/11/07
1.6K0
javascript 隐式转换_mysql隐式转换
JavaSE-将字符串转换为数字
提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。
程序员阿杜
2021/03/15
2.5K0
JavaSE-将字符串转换为数字
JavaSE-将字符串转换为数字
提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。
程序员阿杜
2021/04/07
2.4K0
02JavaScript基础语法部分
判断包装类型不能使用typeof而是使用instanceof 。语法结构变量名/对象名 instanceof 构造函数/数据类型
Dreamy.TZK
2020/04/09
1.7K0
python中string和bool的转
python中字符串“True” 和 “False"转为bool类型时, 不能通过bool(xx)强转。
py3study
2020/01/08
1.6K0
隐式Intent
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(“com.example.shaomiao.testintent.intent.action.TestActivity”); startActivity(intent); } });
tea9
2022/07/15
5310
隐式Intent
json字符串转换为Json对象_前端字符串转json
参考网上的文章,做了一个关于json的总结,进行留存帮助以后阅读,希望可以帮助到大家。
全栈程序员站长
2022/09/28
7.6K0
JS隐式转换_隐式转换是什么
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
1.9K0
Scala 【 14 隐式转换与隐式参数 】
​ Scala 的隐式转换,其实最核心的就是定义隐式转换函数,即 implicit conversion function 。
Lokinli
2023/03/09
8160

相似问题

不能隐式地将'int‘转换为'bool’

56

“不能隐式地将'bool[]‘转换为'object[]'”

30

不能隐式地将'ulong‘转换为'bool’

11

不能隐式地将“void”转换为“bool”

13

公共bool方法不能隐式地将“bool”转换为“`void”

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文