C#中提示无法将string隐式转换为bool类型,请问怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中提示无法将string隐式转换为bool类型,请问怎么办?相关的知识,希望对你有一定的参考价值。
参考技术A 看了你的程序感觉你的意思是如果txtPwd1.Text不为空(即存在)
程序继续进行
建议你吧if((txtPwd1.Text))
修改为
if(!IsNullOrEmpty(txtPwd1.Text))
意思是
如果txtPwd1.Text不为空或NUll那么程序继续运行
如有疑问请追问追问
能否加你qq请教?
追答你的QQ我加
追问975339353
本回答被提问者采纳 参考技术B 这个不能隐式转换的话,你就自己定义憋。错误代码那里用判断语句,如果值为false的话赋值为什么,如果为true的话赋值为什么,就行了。 参考技术C 条件有误if条件必须为bool型,txtPwd1.txt为string型。
应改为if((txtPwd1.txt!=""))//当密码非空时 参考技术D txtPwd1.Text返回的是一个字符串,肯定没法转bool了,我看你的意思是想做对比的吧?可以写成if(txtPwd1.Text==txtPwd2.Text) 第5个回答 2012-12-22 可以,只要你的String的值=="True"或者"False"就可以。追问
怎么把这个bool类型转换为string类型啊?
追答大体上看了一下,你这属于最基础的错误,建议先学好基础的语法吧。
C#错误(无法将类型'string'隐式转换为'int')[重复]
【中文标题】C#错误(无法将类型\'string\'隐式转换为\'int\')[重复]【英文标题】:C# Error (Cannot Implicitly convert type 'string' to 'int') [duplicate]C#错误(无法将类型'string'隐式转换为'int')[重复] 【发布时间】:2015-03-25 14:58:29 【问题描述】:请帮忙!我不知道如何解决这个问题。我被困在这个问题上已经有一段时间了。这段代码至少应该是什么样子,错误在第 8-10 行
int intAmountA = 0;
int intAmountB = 0;
int intAmountC = 0;
decimal decPackageA = 0m;
decimal decPackageB = 0m;
decimal decPackageC = 0m;
decimal decTotal = 0m;
intAmountA = TxtAmountA.Text;
intAmountB = TxtAmountB.Text;
intAmountC = TxtAmountC.Text;
decPackageA = intAmountA * 150;
decPackageB = intAmountB * 120;
decPackageC = intAmountC * 90;
LblPackageA.Text = decPackageA.ToString("c");
LblPackageB.Text = decPackageB.ToString("c");
LblPackageC.Text = decPackageC.ToString("c");
decTotal = decPackageA + decPackageB + decPackageC;
LblTotal.Text = decTotal.ToString("c");
【问题讨论】:
【参考方案1】:你会想了解:
Casting Data Types两者都是基本任务,但对编程非常重要。
你有几种方法:
intAmount = Convert.ToInt32(txtAmount.Text);
intAmount = int.Parse(txtAmount.Text);
cast
的最简单方法是上述方法。但是,当可能传递无效的用户信息时,就会出现问题。例如,用户传递example
会导致异常。
您需要清理数据。因此,您可以尝试以下方法:
int amount;
if(int.TryParse(txtAmount.Text, out amount))
// Properly converted amount to an integer.
另一种方法可能是:
int amount = txtAmount.Text.Where(d => char.IsDigit(d));
最安全和最常见的是int.TryParse
。但这些都是您应该考虑正确处理数据的方法。
希望这对您有所帮助。
【讨论】:
【参考方案2】:TxtAmountA.Text
是一个字符串。您正在尝试将变量 intAmountA
设置为字符串值,这是一个整数,因此出现错误。您需要从文本框中的字符串中解析出整数。
intAmountA = int.Parse(TxtAmountA.Text);
但是,请注意,如果 TxtAmountA.Text
中的内容不能转换为整数,则会出现异常。那是你可以使用条件int.TryParse(string value, out integer);
【讨论】:
【参考方案3】:intAmountA = TxtAmountA.Text;
intAmountB = TxtAmountB.Text;
intAmountC = TxtAmountC.Text;
您正在将字符串类型值分配给 int 类型变量。
这会将字符串值转换为它们的 int 类型表示。 例如"1" => 1
intAmountA = int.Parse(TxtAmountA.Text);
intAmountB = int.Parse(TxtAmountB.Text);
intAmountC = int.Parse(TxtAmountC.Text);
【讨论】:
以上是关于C#中提示无法将string隐式转换为bool类型,请问怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
windows编程问题 错误提示“int无法隐式转换为bool”