Posts by this author

Aug 4, 2024
1
1

.NET 9 预览版 6:新功能抢先看

本篇翻译于.NET Team的.NET 9 Preview 6 is now available! 现在是了解最新 .NET 9 预览版的好时机!我们刚刚发布了第六个预览版,在之前预览版的基础上添加了一些很棒的功能,并对 .NET Runtime、SDK、库、C# 和框架(包括 ASP.NET Core、Blazor 和 .NET MAUI)进行了重大改进。请查看下面链接的完整发行说明并立即开始使用。                                                            下载 .NET 9 Preview 6                                                   此版本包含以下改进...

.NET.NET MAUIASP.NET Core
Jul 21, 2024
0
0

C#12新功能合集四:使用默认 lambda 参数重构C#代码

本文翻译于David Pine的这篇文章:Refactor your code with default lambda parameters 。 本文是探讨 C# 12的各种功能的四篇系列文章中的最后一篇。在这篇文章中,我们将探讨“默认 lambda 参数”功能,使开发人员能够在 lambda 表达式中使用默认参数值。本系列涵盖了很多内容:  这些功能是我们不断努力提高代码可读性和可维护性的一部分。让我们详细探索它们!  默认 Lambda 参数🧮 默认 lambda 参数是 C# 12 中的一项新功能,允许开发人员在 lambda 中表达默认参数值。此功能是 C# 方法中现有默认参数功能的自然扩展。  ...

.NETC#
Jun 14, 2024
3
1

C#12新功能合集三:使用任意类型别名重构C#代码

本文翻译于David Pine的这篇文章: Refactor your code using alias any type。 这篇文章是四篇系列文章中的第三篇,主要探讨C# 12的各种功能。在这篇文章中,我们将深入探讨“别名任何类型”功能,该功能允许您使用 using 指令为任何类型创建别名。这个系列已经初具规模:  所有这些功能都将继续我们的旅程,使我们的代码更具可读性和可维护性,这些被认为是开发人员应该知道的“日常 C#”功能。让我们深入了解吧!  别名任意类型*️⃣  C# 12 引入了使用 using 指令为任意类型添加别名的功能。此功能允许您指定映射到其他类型的别名。这包括元组类型、指针类型、数组类...

.NETC#
Jun 10, 2024
1
0

.NET Build 2024:引领AI与云原生应用开发的新篇章

本文翻译自.NET Team的.NET Announcements and Updates from Microsoft Build 2024 - .NET Blog。 在 Microsoft Build 2024 上,我们很高兴推出一系列旨在使 .NET 开发更快、更容易的新功能和工具。   探索 Microsoft Build 2024 上的 .NET 会议,了解新功能的实际效果,或者通过下载 .NET 9 Preview 4 亲自尝试。  以下是我们的更新和公告:  让我们从如何使用 .NET 为开发人员改进 AI 开发开始。  .NET 与人工智能  .NET 为您...

.NET.NET Aspire.NET Internals
Jun 2, 2024
1
0

C#12新功能合集二:使用集合表达式重构代码

本文翻译于David Pine的这篇文章: Refactor your code with C# collection expressions。 本文是系列文章的第二篇,该系列文章涵盖了探索C# 12功能的各种重构场景。 在这篇文章中,我们将了解如何使用集合表达式重构代码,我们将学习集合初始化器、各种表达式用法、支持的集合目标类型和spread语法。 该系列的进展情况如下:  这些功能延续了我们的旅程,使我们的代码更具可读性和可维护性,并且被认为是开发人员应该了解的“日常 C#”功能。  集合表达式🎨  C# 12 引入了集合表达式,它为许多不同的集合类型提供简单且一致的语法。 当使用集合表达式初始化集合时,编译器生成的代码在功能上...

.NETC#
May 27, 2024
1
0

C#12新功能合集一:使用主构造函数重构代码

本文翻译于David Pine的这篇文章:Refactor your C# code with primary constructors 作为 .NET 8 一部分的 C# 12 引入了一组引人注目的新功能! 在这篇文章中,我们将探讨其中一个功能,特别是主构造函数,解释其用法和相关性。 然后,我们将演示一个重构示例,以展示如何将其应用到您的代码中,并讨论其好处和潜在的缺陷。 这将帮助您了解这一更改的影响并有助于您决定是否采用该功能。  主构造函数1️⃣  主构造函数被认为是一项“C#日常”的开发人员功能。 它们允许您在一个简洁的声明中定义类或结构及其构造函数。 这可以帮助您减少需要编写的样板代码量。 如果您一直在关注 C# 版本,您可能熟悉记录类型,其中包括主构造函数的第一...

.NETC#
Apr 30, 2024
1
0

MSTest SDK:.NET 8的测试配置与灵活性新篇

本篇翻译于Marco Rossignoli 和Amaury Levé 的Introducing MSTest SDK – Improved Configuration & Flexibility。 我们很高兴地宣布,基于 MSBuild Project SDK 系统构建的全新 MSTest SDK已推出。它旨在通过合理的默认值和灵活的选项使项目配置更加容易,从而为您提供更好的 MSTest 测试体验。  这种新体验是建立在最近推出的 MSTest 运行程序的基础上(请查看公告)https://devblogs.microsoft.com/dotnet/introducing-ms-test-runner/,以进一步提高您的体验。 这个新的运行程序是一种轻量级、可靠且高性能...

.NETC#
Mar 26, 2024
0
0

从 Azure 部署生成本地 .NET 密钥 

 本文翻译于Frank Boucher的Generate Local .NET Secrets from Azure Deployments . 通常,示例项目以一些“魔术字符串”开始,这些变量包含与部署或外部资源相关的 URL 和关键信息,我们必须更改这些信息才能使用示例。例如在 .NET 中,它可能如下所示:  本文展示了如何从 Azure 部署自动生成 .NET 密钥以及您的 .NET 应用程序如何读取这些密钥。用户想要尝试使用您的示例时,将不必再编辑任何内容! 他们只需使用 azd up 进行部署,然后使用 dotnet run 来执行应用程序。 听起来很有趣? 下面就来实现一下。  整个项目的代码可以在 GitHub 上的 fboucher/hikerai 中找到...

.NETASP.NET CoreAzure
Feb 25, 2024
0
0

我们对 .NET 9 的愿景

本篇翻译于.NET Team 的 Our Vision for .NET 9。 欢迎来到.NET 9!继几个月前成功发布 .NET 8 之后,我们又进入了一个新年度发布周期。 我们建议开发人员将他们的应用程序迁移到 .NET 8。在这篇文章中,我们将分享我们对 .NET 9 的初步设想,它将于年底在 .NET Conf 2024 上发布。我们最关注的领域是云原生和智能应用程序开发。 您可以期待我们在提升性能、生产力和安全性以及整个平台的改进方面进行的巨大投入。  今天,让我们来看看我们计划与 Microsoft 合作伙伴团队合作交付的 .NET 9 重点领域和补充集成。 我们的目标是提高使用 Visual Studio、带有 C# 开发工具包的 Visual Studio Cod...

.NET
Jan 9, 2024
0
0

F# 中更安全的递归

本篇翻译于David Schaefer的Safer recursion in F#。 这是David Schaefer的客座博客文章。David 是一名专注于函数式编程的自由软件开发人员。他是G-Research开源团队的一员。他致力于改进 F# 开发者工具的生态系统。此外,他还帮助维护各种开源的 F# 项目。 在函数式编程中,用递归的方式去定义算法是很常见的场景。这非常符合我们想要避免突变的心态,而且这通常不会导致性能下降。编译器在优化阶段会尝试将递归定义重写为更高效的循环。  然而,编译器并不总是能够将递归转换为循环。从这里开始,就有一定的危险了。  堆栈帧与生产环境  当我们在函数 f 内部调用函数 g 时,这个操作通常会在进程的调用堆栈上创建一个新的堆栈帧。函数...

.NETF#