检查是否为StringBuilder()AppendLine()为空字符串

值得重要

我想有条件地将从函数派生的字符串附加到字符串生成器。要求的条件是该函数不返回空字符串(“”)。

有条件附加字符串的目的是避免在AppendLine()附加字符串(从函数返回)为空时附加一行。

我当前的代码(在调用完全相同的函数的条件下包装函数):

Dim builder As New System.Text.StringBuilder()

builder.Append("Some text...").AppendLine()

If Not IsNothing(someFunction(someParameterAA, someParameterAB)) Then
    builder.Append(someFunction(someParameterAA, someParameterAB)).AppendLine()
End If

If Not IsNothing(someFunction(someParameterBA, someParameterBB)) Then
    builder.Append(someFunction(someParameterBA, someParameterBB)).AppendLine()
End If
builder.AppendLine().Append("...some text.")

Dim s As String = builder.ToString
MessageBox.Show(s)

我希望有一个更有效的替代方法(就要编写的代码量而言是有效的)。最终,我希望避免两次调用相同的函数,但是我无法独立地builder.Append向函数添加代码行。而是可以定位builder.Append吗?

潜在逻辑示例:

If `builder.Append()` inside the following brackets is not an empty string then:
(
builder.Append(someFunction(someParameterAA, someParameterAB)).AppendLine()
)

如果有人对上述方法有解决方案,请记住除该builder.Append()外还需要简明(= <2)行代码

我愿意接受任何其他建议。

里克

创建另一个方法来进行追加,如下所示:

CheckBeforeAppend(someFunction(someParameterAA, someParameterAB), builder)
CheckBeforeAppend(someFunction(someParameterBA, someParameterBB), builder)
....
Public Sub CheckBeforeAppend(s As String, sb As StringBuilder)

  If Not String.IsNullOrEmpty(s)
    sb.Append(s).AppendLine()
  End If

End Sub

像这样的简单重构会缩短您的原始代码,并且意味着您无需重复对函数的返回值进行null或空检查。

对于扩展方法(将此代码放在中Module):

<Extension()>
Public Sub CheckBeforeAppend(s As String, sb As StringBuilder)

  If Not String.IsNullOrEmpty(s)
    sb.Append(s).AppendLine()
  End If

End Sub

用法:

someFunction(someParameterAA, someParameterAB).CheckBeforeAppend(sb)

或扩展StringBuilder

<Extension()>
Public Sub CheckBeforeAppend(sb As StringBuilder, s As String)

  If Not String.IsNullOrEmpty(s)
    sb.Append(s).AppendLine()
  End If

End Sub

用法:

builder.CheckBeforeAppend(someFunction(someParameterAA, someParameterAB))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查空字符串是否为null?

来自分类Dev

如何检查列表是否为空字符串

来自分类Dev

检查结果是否为空字符串

来自分类Dev

检查结果是否为空字符串

来自分类Dev

ImmNotifyIME()是否为空字符串?

来自分类Dev

PHP:检查变量是否为字符串类型并且不是空字符串?

来自分类Dev

PHP:检查变量是否为字符串类型并且不是空字符串?

来自分类Dev

PDO,检查是否为空字符串,如果为空则不更新

来自分类Dev

PDO,检查是否为空字符串,如果为空则不更新

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

在Where子句中添加检查Parameter是否为空字符串

来自分类Dev

如何检查Django表单数据是否为None,''(空字符串)或False

来自分类Dev

在Swift中检查nil参数以及该参数是否为空字符串

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

检查自定义对象 ArrayList 的属性是否为空字符串?

来自分类Dev

仅在预检查为空字符串时串联C#字符串

来自分类Dev

仅在预检查为空字符串时串联C#字符串

来自分类Dev

当太大时,StringBuilder.toString()在Eclipse控制台中打印为空字符串吗?

来自分类Dev

Rails Model方法检查字段是否为nil,如果是,则返回空字符串

来自分类Dev

验证字符串是否为正数,空/空字符串

来自分类Dev

XHR responseText为空字符串

来自分类Dev

PHP开关为空字符串

来自分类Dev

如何检查字符串字符是否为空格?

来自分类Dev

要检查是否将字符串解析为Integer?

来自分类Dev

如何快速检查字符串是否为nil?

来自分类Dev

如何检查字符串是否为json格式

来自分类Dev

检查字符串在R中是否为大写

来自分类Dev

检查字符串是否为空或空白

来自分类Dev

检查字符串是否为UUID

Related 相关文章

  1. 1

    检查空字符串是否为null?

  2. 2

    如何检查列表是否为空字符串

  3. 3

    检查结果是否为空字符串

  4. 4

    检查结果是否为空字符串

  5. 5

    ImmNotifyIME()是否为空字符串?

  6. 6

    PHP:检查变量是否为字符串类型并且不是空字符串?

  7. 7

    PHP:检查变量是否为字符串类型并且不是空字符串?

  8. 8

    PDO,检查是否为空字符串,如果为空则不更新

  9. 9

    PDO,检查是否为空字符串,如果为空则不更新

  10. 10

    如何检查单词中的空字符串是否在python中评估为true?

  11. 11

    在Where子句中添加检查Parameter是否为空字符串

  12. 12

    如何检查Django表单数据是否为None,''(空字符串)或False

  13. 13

    在Swift中检查nil参数以及该参数是否为空字符串

  14. 14

    如何检查单词中的空字符串是否在python中评估为true?

  15. 15

    检查自定义对象 ArrayList 的属性是否为空字符串?

  16. 16

    仅在预检查为空字符串时串联C#字符串

  17. 17

    仅在预检查为空字符串时串联C#字符串

  18. 18

    当太大时,StringBuilder.toString()在Eclipse控制台中打印为空字符串吗?

  19. 19

    Rails Model方法检查字段是否为nil,如果是,则返回空字符串

  20. 20

    验证字符串是否为正数,空/空字符串

  21. 21

    XHR responseText为空字符串

  22. 22

    PHP开关为空字符串

  23. 23

    如何检查字符串字符是否为空格?

  24. 24

    要检查是否将字符串解析为Integer?

  25. 25

    如何快速检查字符串是否为nil?

  26. 26

    如何检查字符串是否为json格式

  27. 27

    检查字符串在R中是否为大写

  28. 28

    检查字符串是否为空或空白

  29. 29

    检查字符串是否为UUID

热门标签

归档