










上篇文章给大家分享了:
今天继续给大家分享:带修饰符的简单 lambda 参数
C# 14 对 lambda 语法一致性进行了增强。
它允许在“简单 lambda 参数”(未加括号的单参数写法)中使用参数修饰符,例如 ref、out、in、scoped 等。
一、新旧写法对比
老的写法:
x => x * 2
如果想加修饰符:
ref x => x + 1 // ❌ 不允许
必须改成完整参数列表形式:
新的写法
等价于
前提是类型可以推断。
二、支持的修饰符
可以用于简单 lambda 参数的修饰符包括:
ref
out
in
scoped
ref readonly
三、代码示例
Ref参数
delegate void RefAction(ref int x); RefAction action = ref x => x++;
In参数
delegate void InAction(in int x); InAction action = in x => Console.WriteLine(x);
范围参数
Span<int> span = stackalloc int[10]; ProcessSpan(scoped s => s[0] = 1);
四、典型适用场景

“带修饰符的简单 lambda 参数”本质是:
让 lambda 语法和方法参数语法更加统一。
对于常规业务代码影响不大,但对:
高性能代码
底层库开发
Span / ref 语义使用者
这是一个非常实用的增强。
周国庆
20260225
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。