咨询C#循环中未定义下划线_的语法含义
C#中
_丢弃变量的含义 你看到的这个_是C# 7.0及以上版本引入的丢弃变量(Discard),是专门用来处理“不需要使用的返回值”的语法特性。
具体作用:
StringBuilder.AppendFormat方法的设计是返回自身实例,目的是支持链式调用(比如sb.AppendFormat(...).AppendLine(...))。但你的代码里不需要这种链式调用,直接调用方法就够了。- 如果直接写
sb.AppendFormat(...),编译器会检测到方法的返回值没被使用,可能抛出警告。用_ = ...接收返回值,就是明确告诉编译器“我知道有返回值,但我不需要用它”,从而避免警告。 - 丢弃变量是一个虚拟的只读变量,编译器不会为它分配内存,只是作为一个语法标记,表明开发者有意忽略这个返回值。
对应代码示例:
var sb = new StringBuilder(); foreach (var ns in this.Namespaces) { _ = sb.AppendFormat(CultureInfo.InvariantCulture, " {0}", ns.Value); }
内容的提问来源于stack exchange,提问作者Skary
相关产品推荐
相关产品推荐

