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

如何理解C#中!string.IsNullOrWhiteSpace(s)的语法?

理解if (!string.IsNullOrWhiteSpace(s))的语法逻辑

兄弟,先纠正一个小观察偏差:那个感叹号!不是放在string类型前面,而是放在整个string.IsNullOrWhiteSpace(s)方法调用的前面,用来做逻辑取反。咱们一步步拆解:

  • 首先看核心方法:string.IsNullOrWhiteSpace(s)
    这是.NET框架里的一个静态工具方法,专门用来检查字符串s的状态:

    • 如果s是null,或者是空字符串"",或者全是空白字符(比如空格、换行、制表符这类看不见的空白),这个方法会返回true
    • 如果s是有实际内容的有效字符串,就返回false
  • 然后看前面的!运算符
    这是C#里的逻辑非运算符,作用是把它后面的布尔值反转:

    • 如果string.IsNullOrWhiteSpace(s)返回true(也就是s无效),加!后就变成false
    • 如果string.IsNullOrWhiteSpace(s)返回false(也就是s有效),加!后就变成true
  • 最后看整个if条件的意思
    if (!string.IsNullOrWhiteSpace(s))翻译成大白话就是:当字符串s不是null、不是空串、也不是全空白的时候,就执行大括号里的代码——也就是writer.WriteLine(s);,把这个有效的字符串写入文件。

举个简单的例子更清楚:

string s1 = null;
string s2 = "";
string s3 = "   ";
string s4 = "Hello World";

// 只有s4会触发写入操作
if (!string.IsNullOrWhiteSpace(s1)) { /* 不执行 */ }
if (!string.IsNullOrWhiteSpace(s2)) { /* 不执行 */ }
if (!string.IsNullOrWhiteSpace(s3)) { /* 不执行 */ }
if (!string.IsNullOrWhiteSpace(s4)) { writer.WriteLine(s4); /* 执行,写入"Hello World" */ }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:49:21