Bagikan melalui


Struktur Umum Program C#

Program C# terdiri dari satu atau beberapa file. Setiap file berisi nol atau lebih namespace. Namespace berisi jenis seperti kelas, struktur, antarmuka, enumerasi, dan delegasi, atau namespace lainnya. Contoh berikut adalah kerangka program C# yang berisi semua elemen ini.

using System;

Console.WriteLine("Hello world!");

namespace YourNamespace
{
    class YourClass
    {
    }

    struct YourStruct
    {
    }

    interface IYourInterface
    {
    }

    delegate int YourDelegate();

    enum YourEnum
    {
    }

    namespace YourNestedNamespace
    {
        struct YourStruct
        {
        }
    }
}

Contoh sebelumnya menggunakan pernyataan tingkat atas untuk titik masuk program. Hanya satu file yang dapat memiliki pernyataan tingkat atas. Titik entri program adalah baris teks pertama teks program dalam file tersebut. Dalam hal ini, itu adalah Console.WriteLine("Hello world!");. Anda juga dapat membuat metode statis bernama Main sebagai titik masuk program, seperti yang ditunjukkan dalam contoh berikut:

// 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!");
        }
    }
}

Dalam hal ini, program dimulai dalam kurung kurawal pembuka dari metode Main, yaitu Console.WriteLine("Hello world!");

Membangun dan menjalankan program C#

C# adalah bahasa yang dikompilasi. Di sebagian besar program C#, Anda menggunakan dotnet build perintah untuk mengkompilasi sekelompok file sumber ke dalam paket biner. Kemudian, Anda menggunakan dotnet run perintah untuk menjalankan program. (Anda dapat menyederhanakan proses ini karena dotnet run mengkompilasi program sebelum menjalankannya jika perlu.) Alat-alat ini mendukung bahasa yang kaya opsi konfigurasi dan sakelar baris perintah. Antarmuka dotnet baris perintah (CLI), yang disertakan dalam .NET SDK, menyediakan banyak alat untuk menghasilkan dan memodifikasi file C#.

Dimulai dengan C# 14 dan .NET 10, Anda dapat membuat aplikasi berbasis file, yang menyederhanakan pembangunan dan menjalankan program C#. Anda menggunakan dotnet run perintah untuk menjalankan program yang terkandung dalam satu *.cs file. Misalnya, jika cuplikan berikut disimpan dalam file bernama hello-world.cs, Anda dapat menjalankannya dengan mengetik dotnet run hello-world.cs:

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

Baris pertama program berisi #! urutan yang digunakan oleh shell Unix. Lokasi dotnet CLI dapat bervariasi pada distribusi yang berbeda. Pada sistem Unix apa pun, jika Anda mengatur izin jalankan (+x) pada file C#, Anda dapat menjalankan file C# dari baris perintah:

./hello-world.cs

Sumber untuk program ini harus berupa satu file, tetapi jika tidak, semua sintaks C# valid. Anda dapat menggunakan aplikasi berbasis file untuk utilitas baris perintah kecil, prototipe, atau eksperimen lainnya. Aplikasi berbasis file memungkinkan direktif pra-prosesor yang mengonfigurasi sistem build.

Ekspresi dan pernyataan

Program C# dibangun menggunakan ekspresi dan pernyataan. Ekspresi menghasilkan nilai, dan pernyataan melakukan tindakan:

Ekspresi adalah kombinasi nilai, variabel, operator, dan panggilan metode yang mengevaluasi ke satu nilai. Ekspresi menghasilkan hasil dan dapat digunakan di mana pun nilai diharapkan. Contoh berikut adalah ekspresi:

  • 42 (nilai harfiah)
  • x + y (operasi aritmatika)
  • Math.Max(a, b) (panggilan metode)
  • condition ? trueValue : falseValue (ekspresi kondisional)
  • new Person("John") (pembuatan objek)

Pernyataan adalah instruksi lengkap yang melakukan tindakan. Pernyataan tidak mengembalikan nilai; sebaliknya, mereka mengontrol alur program, mendeklarasikan variabel, atau melakukan operasi. Contoh berikut adalah pernyataan:

  • int x = 42; (pernyataan deklarasi)
  • Console.WriteLine("Hello"); (pernyataan ekspresi - membungkus ekspresi panggilan metode)
  • if (condition) { /* code */ } (pernyataan kondisi)
  • return result; (pernyataan pengembalian)

Perbedaan utama: ekspresi mengevaluasi ke nilai, sementara pernyataan melakukan tindakan. Beberapa konstruksi, seperti panggilan metode, bisa keduanya. Misalnya, Math.Max(a, b) adalah ekspresi saat digunakan dalam int result = Math.Max(a, b);, tetapi menjadi pernyataan ekspresi ketika ditulis sendiri sebagai Math.Max(a, b);.

Untuk informasi terperinci tentang pernyataan, lihat Pernyataan. Untuk informasi tentang anggota bertubuh ekspresi dan fitur ekspresi lainnya, lihat Anggota bertubuh ekspresi.

Anda mempelajari tentang elemen program ini di bagian jenis dari panduan dasar:

Spesifikasi Bahasa C#

Untuk informasi selengkapnya, lihat konsep dasar dalam C# Spesifikasi Bahasa. Spesifikasi bahasa adalah sumber definitif untuk sintaks dan penggunaan C#.