【问题标题】:Condition Inside string Concatenation VB.NET条件内部字符串连接VB.NET
【发布时间】:2017-05-04 14:22:40
【问题描述】:

在 PHP 中,您可以在字符串连接中包含条件(if/else)。

$string= 'X is' . ($x >0 1 ? ' > 10 ': ' < 10 ')';

在 VB.NET 中也可以做到这一点吗?

【问题讨论】:

    标签: string vb.net concatenation


    【解决方案1】:

    您可以使用string inpterpolationIf-operator:

    Dim result = $"X is {If(x > 10, " > 10 ", " <= 10 ")}"
    

    这是String.Format的语法糖:

    Dim result = String.Format("X is {0}", If(x > 10, " > 10 ", " <= 10 "))
    

    【讨论】:

      【解决方案2】:

      是的,通过字符串插值,您可以使用表达式 - Interpolated Strings

      Dim text = $"IsPositive = {If(number > 0, "true", "false"}"
      

      内插字符串表达式通过替换 包含具有 ToString 表示的表达式 表达式的结果

      【讨论】:

        【解决方案3】:

        三元运算符的 VB 等效项是 If 运算符(与 If 语句不同)。

        您可以将您的代码直接从 php 转换为 VB:

        Dim test = "X is" & If(x > 10, " > 10 ", " < 10 ")
        

        (我对源代码中的明显错误进行了一些更正,但我对 php 不熟悉,所以我可能无意中引入了行为差异。)

        【讨论】:

          猜你喜欢
          • 2020-10-21
          • 1970-01-01
          • 1970-01-01
          • 2011-06-04
          • 2013-03-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-15
          相关资源
          最近更新 更多