Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dimulai dengan .NET 6, templat proyek untuk aplikasi konsol C# baru menghasilkan kode berikut dalam file Program.cs:
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Untuk .NET 5 dan versi yang lebih lama, templat aplikasi konsol menghasilkan kode berikut:
using System;
namespace MyApp
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Dalam kode sebelumnya, namespace yang sesungguhnya bergantung pada nama proyek.
Kedua bentuk ini mewakili program yang sama. Keduanya valid di C#. Ketika Anda menggunakan versi yang lebih baru, Anda hanya perlu menulis isi metode Main. Pengkompilasi menghasilkan Program kelas dengan metode titik awal, dan memasukkan semua pernyataan tingkat atas Anda dalam metode tersebut. Nama metode yang dihasilkan bukan Main—ini adalah detail implementasi yang tidak dapat dirujuk oleh kode Anda secara langsung. Anda tidak perlu menyertakan elemen program lainnya; compiler menghasilkannya untuk Anda. Untuk informasi selengkapnya tentang kode yang dihasilkan pengompilasi saat Anda menggunakan pernyataan tingkat atas, lihat pernyataan tingkat atas di bagian dasar-dasar Panduan C#.
Saat bekerja dengan tutorial yang tidak diperbarui untuk menggunakan templat .NET 6+, gunakan salah satu dari dua opsi ini:
- Gunakan gaya program baru, menambahkan pernyataan tingkat atas baru saat Anda menambahkan fitur.
- Konversikan gaya program baru ke gaya yang lebih lama, dengan kelas
Programdan metodeMain.
Jika Anda ingin menggunakan templat lama, lihat Menggunakan gaya program lama nanti di artikel ini.
Gunakan gaya program baru
Fitur yang membuat program baru lebih sederhana adalah pernyataan tingkat atas , direktif global using, dan direktif implisit using.
Istilah pernyataan tingkat atas berarti pengkompilasi menghasilkan elemen kelas dan metode untuk program utama Anda. Pengkompilasi mendeklarasikan kelas yang dihasilkan dan metode titik masuk di global namespace. Lihat kode untuk aplikasi baru dan bayangkan bahwa di dalam Main method tersebut terdapat pernyataan-pernyataan yang dihasilkan oleh template sebelumnya, tetapi berada dalam namespace global.
Tambahkan lebih banyak pernyataan ke program, sama seperti Anda menambahkan pernyataan ke metode Anda Main dengan gaya tradisional.
Access args (argumen baris perintah), gunakan await, dan atur kode keluar. Anda bahkan dapat menambahkan fungsi. Kompilator membuatnya sebagai fungsi-fungsi lokal yang bersarang di dalam metode titik masuk yang dihasilkan. Fungsi lokal tidak dapat menyertakan pengubah akses apa pun (misalnya, public atau protected).
Baik pernyataan tingkat atas maupun arahan implisit using menyederhanakan kode yang membentuk aplikasi Anda. Untuk mengikuti tutorial yang sudah ada, tambahkan pernyataan baru ke file Program.cs yang dihasilkan oleh templat. Bayangkan bahwa pernyataan yang Anda tulis berada di antara kurung kurawal terbuka dan penutup dalam Main metode dalam instruksi tutorial.
Jika Anda lebih suka format yang lebih lama, salin kode dari contoh kedua dalam artikel ini dan lanjutkan tutorial seperti sebelumnya.
Untuk informasi selengkapnya tentang pernyataan tingkat atas, lihat eksplorasi tutorial tentang pernyataan tingkat atas.
Arahan using implisit
Istilah direktif using implisit berarti kompilator secara otomatis menambahkan serangkaian arahan using berdasarkan jenis proyek. Untuk aplikasi konsol, arahan berikut secara implisit disertakan dalam aplikasi:
using System;using System.IO;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.Threading;using System.Threading.Tasks;
Jenis aplikasi lain mencakup lebih banyak namespace yang umum untuk jenis aplikasi tersebut.
Jika Anda memerlukan using direktif yang tidak disertakan secara implisit, tambahkan ke file .cs yang berisi pernyataan tingkat atas atau ke file .cs lainnya. Untuk arahan using yang Anda butuhkan di semua file .cs dalam aplikasi, gunakan arahan using global .
Menonaktifkan arahan using implisit
Untuk menghapus perilaku ini dan mengontrol semua namespace secara manual dalam proyek Anda, tambahkan <ImplicitUsings>disable</ImplicitUsings> ke file proyek Anda di elemen <PropertyGroup>, seperti yang ditunjukkan dalam contoh berikut:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
</Project>
Arahan global using
Direktif using global mengimpor namespace untuk seluruh aplikasi Anda alih-alih satu file. Tambahkan arahan global ini dengan menyertakan <Using> item dalam file proyek atau menambahkan direktif global using ke file kode.
Untuk menghapus arahan implisit usingtertentu, tambahkan <Using> item dengan Remove atribut ke file proyek Anda. Misalnya, jika fitur direktif using implisit diaktifkan dengan <ImplicitUsings>enable</ImplicitUsings>, menambahkan item <Using> berikut menghapus namespace System.Net.Http dari yang diimpor secara implisit:
<ItemGroup>
<Using Remove="System.Net.Http" />
</ItemGroup>
Gunakan gaya program lama
Dimulai dengan .NET SDK 6.0.300, templat console memiliki opsi --use-program-main. Gunakan untuk membuat proyek konsol yang tidak menggunakan pernyataan tingkat atas dan memiliki metode Main.
dotnet new console --use-program-main
Program.cs yang dihasilkan adalah sebagai berikut:
namespace MyProject;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
Gunakan gaya program lama dalam Visual Studio
Saat Anda membuat proyek baru, langkah-langkah penyiapan akan membawa Anda ke halaman penyiapan Informasi tambahan. Pada halaman ini, pilih kotak centang Jangan gunakan pernyataan tingkat atas.
Setelah proyek Anda dibuat, konten
Program.csadalah sebagai berikut:namespace MyProject; class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } }
Nota
Visual Studio mempertahankan nilai opsi untuk kali berikutnya Anda membuat proyek berdasarkan templat yang sama. Jika terakhir kali Anda membuat proyek Aplikasi Konsol dengan kotak centang Jangan gunakan pernyataan tingkat atas dicentang, opsi tersebut dicentang saat Anda membuat proyek Aplikasi Konsol berikutnya.
Konten file Program.cs mungkin berbeda untuk mencocokkan gaya kode yang ditentukan dalam pengaturan editor teks Visual Studio global atau file EditorConfig.
Untuk informasi selengkapnya, lihat Membuat pengaturan editor kustom portabel dengan EditorConfig dan Opsi , Editor Teks, C#,Tingkat Lanjut .