Yeni C# şablonları en üst düzey deyimler oluşturur
.NET 6 ' dan itibaren, şablonu kullanan yeni projeler console önceki sürümlerden farklı bir kod oluşturur:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Yeni çıktı, bir program için yazmanız gereken kodu basitleştiren son C# özelliklerini kullanır. Geleneksel olarak, konsol uygulama şablonu aşağıdaki kodu üretti:
using System;
using System.Collections.Generic;
using System.Linq;
namespace MyApp // Note: actual namespace depends on the project name.
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Bu iki form aynı programı temsil eder. Her ikisi de C# 10,0 ile geçerlidir. Daha yeni sürümü kullandığınızda yalnızca yönteminin gövdesini yazmanız gerekir Main . Diğer program öğelerini eklemeniz gerekmez. Mevcut öğreticilerle çalışmak için iki seçeneğiniz vardır:
- Yeni program stilini kullanın, özellik eklerken yeni en üst düzey deyimler ekleyin.
- Yeni program stilini, bir sınıfı ve yöntemi ile eski stiline dönüştürün
ProgramMain.
Eski şablonları kullanmak istiyorsanız eski program stilini kullanma bölümüne bakın.
Yeni program stilini kullanın
Yeni programı daha basit hale uygulayan Özellikler en üst düzey deyimler, genel using yönergeler ve örtük using yönergelerden oluşan özelliklerdir.
Üst düzey deyimler , derleyicinin ana programınız için ad alanı, sınıf ve Yöntem öğelerini oluşturduğu anlamına gelir. Yeni uygulamanın koduna bakabilirsiniz ve Main önceki şablonlar tarafından oluşturulan metodun içindeki deyimleri içerdiğini düşünün. Programa daha fazla deyim ekleyebilirsiniz, tıpkı geleneksel stilde yönteminiz için daha fazla deyim ekleyebilirsiniz Main . Hatta işlevleri de ekleyebilirsiniz. Oluşturulan yöntemin içinde iç içe yerleştirilmiş yerel işlevler olarak oluşturulur Main .
Hem üst düzey deyimler hem de örtük using yönergeler , uygulamanızı oluşturan kodu basitleştirir. Mevcut öğreticiyi izlemek için, şablon tarafından oluşturulan program. cs dosyasına yeni deyimler ekleyin. Yazdığınız deyimlerin, öğreticinin yönergelerindeki yöntemde açık ve kapanış ayraçları arasında olduğunu hayal edebilirsiniz Main .
Eski biçimi kullanmayı tercih ediyorsanız, bu makaledeki ikinci örnekteki kodu kopyalayabilir ve daha önce olduğu gibi öğreticiye devam edebilirsiniz.
Üst düzey deyimler hakkında daha fazla bilgi için bkz. üst düzey deyimlerde öğreticiaraştırma.
Örtülü using yönergeler
Örtük using yönergeler derleyicinin proje türüne göre otomatik olarak bir using yönergeler kümesi eklediği anlamına gelir. Konsol uygulamaları için aşağıdaki yönergeler uygulamaya örtük olarak dahil edilmiştir:
using System;using System.IO;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.Threading;using System.Threading.Tasks;
Diğer uygulama türleri, bu uygulama türleri için ortak olan daha fazla ad alanı içerir.
usingÖrtük olarak dahil olmayan yönergelere ihtiyacınız varsa, bunları en üst düzey deyimler içeren . cs dosyasına veya diğer . cs dosyalarına ekleyebilirsiniz. usingBir uygulamadaki tüm . cs dosyalarında ihtiyacınız olan yönergeler için genel using yönergelerikullanın.
Örtük yönergeleri devre dışı bırak using
Bu davranışı kaldırmak ve projenizdeki tüm ad alanlarını el ile denetlemek istiyorsanız <ImplicitUsings>disable</ImplicitUsings> proje dosyasına ekleyin.
Genel using yönergeler
Genel using yönerge , tek bir dosya yerine tüm uygulamanız için bir ad alanı içeri aktarır. Bu genel yönergeler <Using> , proje dosyasına bir öğe eklenerek ya da global using bir kod dosyasına yönergesini ekleyerek eklenebilir.
Ayrıca, <Using> belirli bir örtük using yönergeyikaldırmak için proje dosyanıza bir öğe ekleyebilirsiniz. Örneğin, örtük kullanımlar özelliği ile açıksa <ImplicitUsings>enable</ImplicitUsings> , aşağıdaki <Using> öğeyi eklemek System.Net.Http örtük olarak içeri aktarılan ad alanını kaldırır:
<ItemGroup>
<Using Remove="System.Net.Http" />
</ItemGroup>
Eski program stilini kullan
.NET 6 konsol uygulaması şablonu, .NET 5 ' i kullanarak en üst düzey deyimler programlarının yeni stilini oluşturacaktır. .NET 5 projesi oluşturarak eski program stilini alacaksınız. Daha sonra, proje dosyasını .NET 6 hedeflemek için düzenleyebilirsiniz.
Önemli
.NET 5 ' i hedefleyen bir proje oluşturmak için .NET 5 şablonları gerekir. .NET 5 şablonları dotnet new --install komutla el ile veya .NET 5 SDK yüklenerekyüklenebilir.
Yeni proje oluşturma
dotnet new console --framework net5.0Proje dosyasını bir metin düzenleyicisinde açın ve öğesini olarak değiştirin
<TargetFramework>net5.0</TargetFramework><TargetFramework>net6.0</TargetFramework>.Değişiklikleri gösteren bir dosya farkı aşağıda verilmiştir:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> - <TargetFramework>net5.0</TargetFramework> + <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>İsteğe bağlı adım: proje dosyasına örtük
usingyönergeler ve null yapılabilir bağlam özelliklerini ekleyerek daha yeni .net 6 ve C# özelliklerinden bazılarını kullanmaya devam edebilirsiniz.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> </PropertyGroup> </Project>
Visual Studio eski program stilini kullanın
Visual Studio yeni bir konsol projesi oluşturduğunuzda, kullanmak istediğiniz hedef framework 'ü tanımlayan bir açılan kutu istenir. Bu değeri 5,0 olarak değiştirin. Proje oluşturulduktan sonra, proje dosyasını düzenleyerek tekrar 6,0 olarak değiştirin.
Yeni bir proje oluşturduğunuzda, kurulum adımları ek bilgi kurulum sayfasına gider. Bu sayfada, Framework ayarını .net 6,0 (uzun süreli destek) iken .NET 5,0 olarak değiştirin ve ardından Oluştur düğmesini seçin.
projeniz oluşturulduktan sonra, Project gezgin bölmesini bulun. Proje dosyasına çift tıklayın ve öğesini
<TargetFramework>net5.0</TargetFramework>olarak değiştirin<TargetFramework>net6.0</TargetFramework>.Değişiklikleri gösteren bir dosya farkı aşağıda verilmiştir:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> - <TargetFramework>net5.0</TargetFramework> + <TargetFramework>net6.0</TargetFramework> </PropertyGroup> </Project>alternatif olarak, Project gezgin bölmesinde projeye sağ tıklayıp özellikler' i seçebilirsiniz. Böylece hedef Framework 'ü değiştirebileceğiniz bir ayarlar sayfası açılır.
İsteğe bağlı adım: proje dosyasına örtük
usingyönergeler ve null yapılabilir bağlam özelliklerini ekleyerek daha yeni .net 6 ve C# özelliklerinden bazılarını kullanmaya devam edebilirsiniz.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> </PropertyGroup> </Project>
Şablon geri bildirimi
En üst düzey deyimler .net 6 ' daki yeni bir özelliktir. bu özelliğin proje şablonlarında kullanımını destekliyorsa bize izin vermek için GitHub sorunu #27420 yukarı veya aşağı oy ekleyin.