Aracılığıyla paylaş


C# Programının Genel Yapısı

C# programları bir veya daha fazla dosyadan oluşur. Her dosya sıfır veya daha fazla ad alanı içerir. Ad alanı sınıflar, yapılar, arabirimler, numaralandırmalar ve temsilciler veya diğer ad alanları gibi türleri içerir. Aşağıdaki örnek, bu öğelerin tümünü içeren bir C# programının iskeletidir.

using System;

Console.WriteLine("Hello world!");

namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }
}

Yukarıdaki örnek, programın giriş noktası içinüst düzey deyimleri kullanır. Yalnızca bir dosyada üst düzey deyimler bulunabilir. Programın giriş noktası, bu dosyadaki program metninin ilk metin satırıdır. Bu durumda, Console.WriteLine("Hello world!");. Aşağıdaki örnekte gösterildiği gibi programın giriş noktası olarak Main adlı bir statik yöntem de oluşturabilirsiniz:

// A skeleton of a C# program
using System;
namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }

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

Bu durumda, program, yöntemin açılış küme ayracı içinde başlar. MainConsole.WriteLine("Hello world!");

C# programları oluşturma ve çalıştırma

C# derlenmiş bir dildir. C# programlarının çoğunda, bir grup kaynak dosyayı ikili pakette derlemek için komutunu kullanırsınız dotnet build . Ardından, programı çalıştırmak için komutunu kullanırsınız dotnet run . (Gerekirse programı çalıştırmadan önce derlediği için dotnet run bu işlemi basitleştirebilirsiniz.) Bu araçlar, zengin yapılandırma seçenekleri ve komut satırı anahtarları dilini destekler. .NET SDK'sına dotnet dahil edilen komut satırı arabirimi (CLI), C# dosyalarını oluşturmak ve değiştirmek için birçok araç sağlar.

C# 14 ve .NET 10'dan başlayarak, C# programları oluşturmayı ve çalıştırmayı kolaylaştıran dosya tabanlı uygulamalar oluşturabilirsiniz. komutunu kullanarak dotnet run tek *.cs bir dosyada bulunan bir programı çalıştırırsınız. Örneğin, aşağıdaki kod parçacığı adlı hello-world.csbir dosyada depolanıyorsa, yazarak dotnet run hello-world.csbunu çalıştırabilirsiniz:

#!/usr/bin/env dotnet
Console.WriteLine("Hello, World!");

Programın ilk satırı Unix kabuklarının #! sırasını içerir. CLI'nın dotnet konumu farklı dağıtımlara göre farklılık gösterebilir. Herhangi bir Unix sisteminde, bir C# dosyasında yürütme (+x) izni ayarlarsanız, komut satırından C# dosyasını çalıştırabilirsiniz:

./hello-world.cs

Bu programların kaynağı tek bir dosya olmalıdır, ancak aksi takdirde tüm C# söz dizimi geçerli olur. Küçük komut satırı yardımcı programları, prototipler veya diğer denemeler için dosya tabanlı uygulamaları kullanabilirsiniz. dosya tabanlı uygulamalar, derleme sistemini yapılandıran ön işlemci yönergelerine izin verir.

İfadeler ve deyimler

C# programları ifadeler ve deyimler kullanılarak oluşturulur. İfadeler bir değer üretir ve deyimler bir eylem gerçekleştirir:

İfade, tek bir değere değerlendirilen değerlerin, değişkenlerin, işleçlerin ve yöntem çağrılarının birleşimidir. İfadeler bir sonuç üretir ve bir değerin beklendiği her yerde kullanılabilir. Aşağıdaki örnekler ifadelerdir:

  • 42 (sabit değer)
  • x + y (aritmetik işlem)
  • Math.Max(a, b) (yöntem çağrısı)
  • condition ? trueValue : falseValue (koşullu ifade)
  • new Person("John") (nesne oluşturma)

İfade, eksiksiz bir eylem gerçekleştiren talimattır. Deyimler değer döndürmez; bunun yerine program akışını denetler, değişkenleri bildirir veya işlemler gerçekleştirir. Aşağıdaki örnekler deyimlerdir:

  • int x = 42; (bildirim beyanı)
  • Console.WriteLine("Hello"); (ifade deyimi - yöntem çağrısı ifadesini sarmalar)
  • if (condition) { /* code */ } (koşullu deyim)
  • return result; (return deyimi)

Önemli fark: ifadeler değerlere göre değerlendirilirken deyimler eylemleri gerçekleştirir. Yöntem çağrıları gibi bazı yapılar her ikisi de olabilir. Örneğin, Math.Max(a, b) içinde int result = Math.Max(a, b);kullanıldığında bir ifadedir, ancak tek başına olarak Math.Max(a, b);yazıldığında ifade deyimine dönüşür.

İfadeler hakkında ayrıntılı bilgi için bakınız İfadeler. İfade gövdeli üyeler ve diğer ifade özellikleri hakkında bilgi için bkz. İfade gövdeli üyeler.

Temel bilgiler kılavuzunun türleri bölümünde bu program öğeleri hakkında bilgi ediniyorsunuz:

C# Dil Belirtimi

Daha fazla bilgi için Temel kavramlar bölümüne bkz. C# Dil Belirtimi . Dil belirtimi, C# söz dizimi ve kullanımı için kesin kaynaktır.