Aracılığıyla paylaş


C# konsol uygulaması şablonu üst düzey deyimler oluşturur

.NET 6'dan başlayarak, yeni C# konsol uygulamalarına yönelik proje şablonu Program.cs dosyasında aşağıdaki kodu oluşturur:

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

.NET 5 ve önceki sürümler için konsol uygulaması şablonu aşağıdaki kodu oluşturur:

using System;

namespace MyApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

Önceki kodda gerçek ad alanı proje adına bağlıdır.

Bu iki form aynı programı temsil edilir. Her ikisi de C# dilinde geçerlidir. Daha yeni sürümü kullandığınızda, yalnızca Main yönteminin gövdesini yazmanız gerekir. Derleyici, giriş noktası yöntemiyle bir Program sınıf oluşturur ve tüm üst düzey deyimlerinizi bu yönteme yerleştirir. Oluşturulan yöntemin adı değildir Main; bu, kodunuzun doğrudan başvurabileceği bir uygulama ayrıntısı değildir. Diğer program öğelerini eklemeniz gerekmez; derleyici bunları sizin için oluşturur. Üst düzey deyimleri kullandığınızda derleyicinin oluşturduğu kod hakkında daha fazla bilgi için C# Kılavuzu'nun temelleri bölümündeki üst düzey deyimlere bakın.

.NET 6+ şablonlarını kullanacak şekilde güncelleştirilmeyen öğreticilerle çalışırken şu iki seçenekten birini kullanın:

  • Özellik eklerken yeni üst düzey deyimler ekleyerek yeni program stilini kullanın.
  • Program sınıfı ve Main yöntemiyle yeni program stilini eski stile dönüştürün.

Eski şablonları kullanmak istiyorsanız, bu makalenin ilerleyen bölümlerinde eski program stilini kullanma bölümüne bakın.

Yeni program stilini kullanma

Yeni programı daha basit hale getiren özellikler, üst düzey deyimler, genel yönergeler ve örtük yönergelerdir.

üst düzey deyimleri terimi, derleyicinin ana programınız için sınıf ve yöntem öğelerini oluşturduğu anlamına gelir. Derleyici, genel ad alanında oluşturulan sınıf ve giriş noktası yöntemini bildirir. Yeni uygulamanın koduna bakın ve önceki şablonlar tarafından oluşturulan Main yöntemi içindeki deyimlerin aslında genel ad alanında olduğunu düşünün.

Geleneksel stilde yönteminize Main deyim eklerken olduğu gibi programa daha fazla deyim ekleyin. Access args (komut satırı bağımsız değişkenleri), kullan await ve çıkış kodunu ayarla. İşlevler bile ekleyebilirsiniz. Derleyici bunları oluşturulan giriş noktası yönteminin içinde iç içe yerleştirilmiş yerel işlevler olarak oluşturur. Yerel işlevler erişim değiştiricileri (örneğin, public veya protected) içeremez.

Hem üst düzey deyimler hem de örtük yönergeler, uygulamanızı oluşturan kodu basitleştirir. Var olan bir öğreticiyi izlemek için, şablon tarafından oluşturulan Program.cs dosyasına yeni ifadeler ekleyin. Yazdığınız deyimlerin, kılavuzun yönergelerinde Main yönteminin açılış ve kapanış küme ayraçları arasında olduğunu düşünün.

Eski biçimi tercih ederseniz, bu makaledeki ikinci örnekte yer alan kodu kopyalayın ve öğreticiye daha önce olduğu gibi devam edin.

Üst düzey deyimler hakkında daha fazla bilgi için üst düzey deyimler hakkında öğretici araştırmalarına bakın.

Örtük using yönergeleri

Örtük yönergeler terimi, derleyicinin proje türüne göre otomatik olarak bir yönergeler kümesi eklediği anlamına gelir. Konsol uygulamaları için aşağıdaki yönergeler uygulamaya örtük olarak eklenir:

  • 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.

Örtük olarak dahil olmayan yönergelere ihtiyacınız using varsa, bunları üst düzey deyimleri içeren .cs dosyasına veya diğer .cs dosyalarına ekleyin. Bir uygulamadaki tüm .cs dosyalarında ihtiyacınız olan yönergeleri içingenel yönergelerini kullanın.

Örtük using yönergelerini devre dışı bırakma

Bu davranışı kaldırmak ve projenizdeki tüm ad alanlarını el ile denetlemek için, aşağıdaki örnekte gösterildiği gibi, <PropertyGroup> öğesinin içine <ImplicitUsings>disable</ImplicitUsings> ekleyerek proje dosyanıza kaydedin.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    ...
    <ImplicitUsings>disable</ImplicitUsings>
  </PropertyGroup>

</Project>

Genel using yönergeleri

genel yönergesi, tek bir dosya yerine uygulamanızın tamamı için bir ad alanını içeri aktarır. Proje dosyasına bir <Using> öğesi ekleyerek veya bir kod dosyasına global using yönergesini ekleyerek bu genel yönergeleri ekleyin.

Belirli bir örtük using yönergeyi kaldırmak için proje dosyanıza özniteliği olan bir <Using> öğe ekleyinRemove. Örneğin, örtük using yönergeleri özelliği <ImplicitUsings>enable</ImplicitUsings>ile açıksa, aşağıdaki <Using> öğesinin eklenmesi, örtük olarak içeri aktarılanlardan System.Net.Http ad alanını kaldırır:

<ItemGroup>
  <Using Remove="System.Net.Http" />
</ItemGroup>

Eski program stilini kullanma

.NET SDK 6.0.300'den başlayarak console şablonunun --use-program-main seçeneği vardır. Üst düzey deyimleri kullanmayan ve Main yöntemi olan bir konsol projesi oluşturmak için bunu kullanın.

dotnet new console --use-program-main

Oluşturulan Program.cs aşağıdaki gibidir:

namespace MyProject;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello, World!");
    }
}

Visual Studio'de eski program stilini kullanma

  1. Yeni bir proje oluşturduğunuzda, kurulum adımları Ek bilgiler kurulum sayfasına gider. Bu sayfada Üst düzey deyimleri kullanma onay kutusunu seçin.

    Visual Studio üst düzey deyimleri kullanma onay kutusu

  2. Projeniz oluşturulduktan sonra Program.cs içeriği aşağıdaki gibidir:

    namespace MyProject;
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

Not

Visual Studio, aynı şablonu temel alan bir sonraki proje oluşturma işleminiz için seçenek değerini korur. Eğer en son, üst düzey deyimleri kullanma onay kutusu işaretlenmiş bir Konsol Uygulaması projesi oluşturduysanız, sonraki Konsol Uygulaması projesini oluşturduğunuzda bu seçenek işaretli olarak kalır. Program.cs dosyasının içeriği, genel Visual Studio metin düzenleyicisi ayarlarında veya EditorConfig dosyasında tanımlanan kod stiliyle eşleşecek şekilde farklı olabilir.

Daha fazla bilgi için bkz. EditorConfig ve Seçenekleri, Metin Düzenleyicisi, C#, Gelişmişile taşınabilir, özel düzenleyici ayarları oluşturma .