Dela via


Nyheter i C# 15

C# 15 innehåller följande nya funktioner. Du kan prova de här funktionerna med den senaste Visual Studio 2026-versionen eller .NET 11 preview SDK:

C# 15 är den senaste C#-versionen. C# 15 stöds på .NET 11. Mer information finns i C#-språkversioner.

Du kan ladda ned den senaste förhandsversionen av .NET 11 SDK från nedladdningssidan för .NET. Du kan också ladda ned Visual Studio 2026 insiders, som innehåller .NET 11 preview SDK.

Nya funktioner läggs till på sidan "Nyheter i C#" när de är tillgängliga i offentliga förhandsversioner. Arbetsuppsättningsavsnittet på roslyn-funktionsstatussidan spårar när kommande funktioner slås samman till huvudgrenen.

Du hittar eventuella icke-bakåtkompatibla ändringar som introduceras i C# 15 i vår artikel om icke-bakåtkompatibla ändringar.

Anmärkning

Vi är intresserade av din feedback om dessa funktioner. Om du får problem med någon av dessa nya funktioner skapar du ett nytt problemdotnet/roslyn-lagringsplatsen .

Argument för samlingsuttryck

Du kan skicka argument till den underliggande samlingens konstruktor eller fabriksmetod genom att använda ett with(...) element som det första elementet i ett samlingsuttryck. Med den här funktionen kan du ange kapacitet, jämförelsetal eller andra konstruktorparametrar direkt i syntaxen för samlingsuttryck.

I följande exempel visas hur du skickar ett kapacitetsargument till en List<T> konstruktor och en jämförelse med en HashSet<T>:

string[] values = ["one", "two", "three"];

// Pass capacity argument to List<T> constructor
List<string> names = [with(capacity: values.Length * 2), .. values];

// Pass comparer argument to HashSet<T> constructor
HashSet<string> set = [with(StringComparer.OrdinalIgnoreCase), "Hello", "HELLO", "hello"];
// set contains only one element because all strings are equal with OrdinalIgnoreCase

Du kan lära dig mer om argument för samlingsuttryck i språkreferensartikeln om samlingsuttryck eller funktionsspecifikationen. Information om hur du använder argument för samlingsuttryck i insamlingsinitierare finns i Initiatorer för objekt och samling.