c# - 连接两个字符串,如果两者都为空,则为空
问题描述
我正在寻找一种解决方案来连接两个字符串值,null
如果两者都是null
. string1 + string2
, string.Concat(string1, string2)
,都没有string.Join(string1, string2)
工作。研究表明,这是因为这些方法在内部将 null 视为空字符串。
如何解决这个问题?
解决方案
因为你的实际公式是
(a + b) ?? (c + d) // assumes that null + null == null in (a + b)
我建议将其重写为
a == null && b == null ? c + d : a + b
它提供了预期的结果:
- 如果两者 都有
a
_ _b
null
c + d
a + b
否则
如果你想拥有null
(不是空字符串)当所有a, b, c, d
都是null
:
a == null && b == null ?
c == null && d == null
? null
: c + d
: a + b;
推荐阅读
- r - Rshiny 中的错误:“没有默认值的参数丢失”
- r - 如何将字符串日期时间列转换为 R 中的日期时间列?
- css - 从 Google 表格列数据创建 CSS 类
- ios - React-native unrecognized font family error
- html - 使用 BlueprintJS 表对列进行排序
- linux - 如何从没有主目录的 /etc/passwd 获取所有用户
- python - 如何使用两列来区分熊猫数据框中的数据点
- r - 替换文本向量中的字符串无包
- typescript - 在传播对象值之前分配它会改变它的类型吗?
- javascript - 如何将屏幕视图移动到 Google 表格中的光标单元格 - s.getRange(s.getCurrentCell().getA1Notation())?