You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中String.Split()能否同时使用多个StringSplitOptions值?

问题根因

你代码编译失败的原因很简单:StringSplitOptions是标记了[Flags]特性的位枚举,C#中这类枚举组合多个选项时,不需要传入枚举类型数组,直接用按位或运算符|连接多个枚举值即可,这是Flags枚举的标准用法。

string.Split没有接收StringSplitOptions[]数组作为参数的重载,你传数组自然无法匹配到正确的方法签名,才会触发编译错误。

正确单语句实现

直接用|组合两个选项传入即可,完全符合你要的简洁单语句要求:

// myString 为已提前定义的待分割字符串
string[] strs = myString.Split(';', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
实际执行效果

这个写法和官方描述的行为完全一致:

  • 分割时会先对每个切分出来的子串做首尾空白字符裁剪
  • 裁剪完成后,空字符串、以及仅由空白字符组成的子串都会被从返回结果中移除
  • 不需要额外写遍历调用Trim()、过滤空项的冗余代码

补充说明:这个组合用法在.NET 5、.NET 6及后续版本中均可正常使用,属于官方原生支持的能力。

内容的提问来源于stack exchange,提问作者JSteh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:15:34