惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
美团技术团队
Recent Announcements
Recent Announcements
B
Blog
GbyAI
GbyAI
雷峰网
雷峰网
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
V
V2EX
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏

博客园 - Eric zhou

Github Project-AI Agentic Framework (.NET) 我不是给 AI 装了一堆插件,我是在搭一套工作能力系统 我不是在用 AI 助手,我在把自己的能力沉淀成组织资产 .NET 10 新特性概览与相关文章索引 .NET 10 & C# 14 New Features 新增功能介绍-ASP.NET Core 基于Microsoft.Extensions.AI 和 Microsoft.Extensions.VectorData构建向量搜索 Windows 安装 OpenClaw 踩坑全记录:Node、Git、CMake、VS Build Tools 一次解决 .NET 10 & C# 14 New Features 新增功能介绍-.NET CLI工具改进 .NET 10 & C# 14 New Features 新增功能介绍-再看Top Level Program .NET 10 & C# 14 New Features 新增功能介绍-Null 条件分配(Null-conditional assignment) .NET 10 & C# 14 New Features 新增功能介绍-field关键字 .NET 10 & C# 14 New Features 新增功能介绍-扩展成员Extension Members 基于.NET和C#构建光伏IoT物模型方案 总结归纳.NET 10 中 Minimal APIs 主要应用场景 .NET 10 New feature 新增功能介绍-Minimal APIs增强 .NET 10 New feature 新增功能介绍-WebSocket功能增强 Google A2UI本地部署记录 .NET10 New feature 新增功能介绍-类库新增功能 关于Agentic AI的一些总结和思考 .NET10 New feature 新增功能介绍-JIT编译器改进
.NET 10 & C# 14 New Features 新增功能介绍-带修饰符的...
Eric zhou · 2026-02-25 · via 博客园 - Eric zhou

上篇文章给大家分享了:

.NET 10 & C# 14 New Features 新增功能介绍-field关键字

今天继续给大家分享:带修饰符的简单 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);

四、典型适用场景

image

“带修饰符的简单 lambda 参数”本质是:

让 lambda 语法和方法参数语法更加统一。

对于常规业务代码影响不大,但对:

  • 高性能代码

  • 底层库开发

  • Span / ref 语义使用者

 这是一个非常实用的增强。

 周国庆

20260225