如何将 .net 中的字符串值转换为布尔值?

2026-04-29 07:282阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计423个文字,预计阅读时间需要2分钟。

如何将 .net 中的字符串值转换为布尔值?

当我意识到我可以将一个布尔值影响到一个字符串时,我正在VB.NET(Visual Studio IDE)中编写代码。该字符串因取值为True或False而有所不同。然后我尝试使用它作为布尔值,例如如字符串包含。

如何将 .net 中的字符串值转换为布尔值?

当我意识到我可以将一个布尔值影响到一个字符串时,我正在玩VB.NET(Visual Studio IDE)中的代码

该字符串因此取值“True”或“False”

然后我尝试使用它作为布尔值,如

如果StringValueContainingTrueOrFalse则
‘做一点事
万一

这也起作用并且给出了期望的结果.这让我意识到我对后台的工作方式知之甚少.

在检测到的字符串中是否为True,IDE是否足够智能处理它,或者只是尝试将值转换为需要的值(因此知道它需要一个布尔值尝试将字符串转换为一个做它的行动)?

发生了什么使这成为可能?

当在IF语句中使用非布尔表达式时,Vb.Net编译器将使用 Conversions.ToBoolean方法将表达式转换为布尔值.

你的代码等于

If Conversions.ToBoolean(StringValueContainingTrueOrFalse) then 'Do Something End if

如果您的值可以转换为布尔值,那么一切都很好.否则将抛出异常.

例如:

Sub Main Dim StringValueContainingTrueOrFalse as String = "True" IF StringValueContainingTrueOrFalse then Console.WriteLine("true") end if End Sub

以上程序生成以下IL:

IL_0000: ldstr "True" IL_0005: stloc.0 // StringValueContainingTrueOrFalse IL_0006: ldloc.0 // StringValueContainingTrueOrFalse IL_0007: call Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean IL_000C: brfalse.s IL_0018 IL_000E: ldstr "true" IL_0013: call System.Console.WriteLine IL_0018: ret

您可以看到标签IL_0007显示对Conversions.ToBoolean方法的调用.

本文共计423个文字,预计阅读时间需要2分钟。

如何将 .net 中的字符串值转换为布尔值?

当我意识到我可以将一个布尔值影响到一个字符串时,我正在VB.NET(Visual Studio IDE)中编写代码。该字符串因取值为True或False而有所不同。然后我尝试使用它作为布尔值,例如如字符串包含。

如何将 .net 中的字符串值转换为布尔值?

当我意识到我可以将一个布尔值影响到一个字符串时,我正在玩VB.NET(Visual Studio IDE)中的代码

该字符串因此取值“True”或“False”

然后我尝试使用它作为布尔值,如

如果StringValueContainingTrueOrFalse则
‘做一点事
万一

这也起作用并且给出了期望的结果.这让我意识到我对后台的工作方式知之甚少.

在检测到的字符串中是否为True,IDE是否足够智能处理它,或者只是尝试将值转换为需要的值(因此知道它需要一个布尔值尝试将字符串转换为一个做它的行动)?

发生了什么使这成为可能?

当在IF语句中使用非布尔表达式时,Vb.Net编译器将使用 Conversions.ToBoolean方法将表达式转换为布尔值.

你的代码等于

If Conversions.ToBoolean(StringValueContainingTrueOrFalse) then 'Do Something End if

如果您的值可以转换为布尔值,那么一切都很好.否则将抛出异常.

例如:

Sub Main Dim StringValueContainingTrueOrFalse as String = "True" IF StringValueContainingTrueOrFalse then Console.WriteLine("true") end if End Sub

以上程序生成以下IL:

IL_0000: ldstr "True" IL_0005: stloc.0 // StringValueContainingTrueOrFalse IL_0006: ldloc.0 // StringValueContainingTrueOrFalse IL_0007: call Microsoft.VisualBasic.CompilerServices.Conversions.ToBoolean IL_000C: brfalse.s IL_0018 IL_000E: ldstr "true" IL_0013: call System.Console.WriteLine IL_0018: ret

您可以看到标签IL_0007显示对Conversions.ToBoolean方法的调用.