Dalam C#, pelaksanaan program bermula daripada kaedah main(). Kaedah utama () tidak menerima hujah daripada mana-mana kaedah lain, tetapi ia menerima hujah yang dihantar kepadanya daripada pengguna melalui baris arahan, dan hujah ini dipanggil hujah baris arahan. Berikut ialah beberapa perkara penting berkenaan argumen baris arahan dalam C#:
Sintaks dengan penjelasan
Sintaks kaedah Main() yang mengambil hujah baris arahan adalah seperti berikut:
static void Main(string[] args) { //user code }
Dalam sintaks di atas, 'statik' ialah kata kunci yang menunjukkan bahawa kaedah Utama() boleh dilaksanakan tanpa sebarang contoh. 'kosong' ialah jenis pulangan. 'Utama' menunjukkan bahawa ini ialah kaedah Utama() program kami, dan 'rentetan[]' ialah jenis hujah yang dihantar kepada kaedah tersebut. 'args' ialah nama yang ditakrifkan pengguna yang diberikan kepada hujah.
Argumen baris arahan dihantar ke kaedah Main() sebagai tatasusunan rentetan jenis supaya kami boleh menghantar n bilangan parameter semasa menjalankan program kami.
Contoh:
public static void Main(string[] args) { //user code }
Apabila kita menghantar parameter kepada kaedah Utama() di atas, ia akan dilihat oleh pembolehubah 'args', tatasusunan rentetan jenis. Kemudian, kita boleh mengakses hujah individu daripada tatasusunan ini menggunakan kedudukan indeks.
Terdahulu, setiap elemen yang diluluskan akan menjadi rentetan jenis yang boleh ditukar kemudian kepada jenis data yang diperlukan menggunakan kelas Convert atau kaedah Parse() yang disediakan oleh C# seperti yang ditunjukkan dalam contoh di bawah:
long num = long.Parse(args[0]);
Pernyataan di atas akan menukar argumen yang ada pada nombor indeks 0 kepada nilai 'panjang' yang setara menggunakan kaedah Parse() dan kemudian ia akan disimpan dalam pembolehubah' num,' yang jenis' panjang.'
int num = Convert.ToInt32(args[1]);
Pernyataan ini akan menukar hujah yang ada pada indeks nombor 1 kepada integer bertanda 32-bit yang setara, dan kemudian ia akan disimpan dalam pembolehubah 'num', yang jenis 'int.'
Kami juga boleh menyemak kewujudan argumen baris arahan, iaitu, untuk menyemak sama ada argumen dihantar ke kaedah Main() atau tidak menggunakan sifat 'Length' seperti yang ditunjukkan di bawah:
if (args.Length > 0) { System.Console.WriteLine("Arguments passed"); } else { System.Console.WriteLine("Arguments are not passed"); }
Untuk aplikasi windows forms, untuk mendayakan argumen baris perintah dalam kaedah Main(), kita perlu mengubah suai tandatangan kaedah Main() dalam fail 'program.cs'. Ini kerana pereka bentuk windows menjana kod yang mengandungi kaedah Main() tanpa parameter input.
Jika anda bekerja dengan C# dalam studio visual, maka terdapat cara yang bagus untuk memasukkan argumen baris perintah untuk kaedah Main() dalam studio visual. Berikut adalah beberapa langkah untuk ini:
Kita boleh memasukkan argumen baris perintah dalam kotak teks ini, setiap satu dipisahkan oleh ruang. Sila cari di bawah tangkapan skrin yang sama:
Contoh yang berbeza dinyatakan di bawah:
Sebagai contoh, mengambil sepuluh nombor integer sebagai input daripada pengguna melalui argumen baris arahan dan menyemak ganjil dan genap antara nombor ini.
Kod:
using System; using System.IO; using System.Collections.Generic; namespace ConsoleApp4 { class Program { public static void Main(string[] args) { List<int> evenArray = new List<int>(); List<int> oddArray = new List<int>(); try { //checking if any argument exists if (args.Length == 0) { Console.WriteLine("Please enter numbers to check for odd even!"); return; } //accessing arguments using for loop for (int i = 0; i < args.Length; i++) { //checking for odd and even if ((Convert.ToInt32(args[i]) % 2) == 0) { evenArray.Add(Convert.ToInt32(args[i])); } else { oddArray.Add(Convert.ToInt32(args[i])); } } //displaying all the numbers entered Console.WriteLine("Numbers entered:"); for (int i = 0; i < args.Length; i++) { Console.WriteLine(args[i]); } //displaying even numbers entered Console.WriteLine("\nEven numbers: "); for (int i = 0; i < evenArray.Count; i++) { Console.WriteLine(evenArray[i]); } //displaying odd numbers entered Console.WriteLine("\nOdd numbers: "); for (int i = 0; i < oddArray.Count; i++) { Console.WriteLine(oddArray[i]); } Console.ReadLine(); } catch(Exception ex) { Console.WriteLine(ex.Message); } } } }
Output:
Tangkapan skrin yang mengandungi arahan untuk menjalankan program di atas dengan input yang dimasukkan dan dengan output yang diterima adalah seperti berikut:
Sebagai contoh, mengambil nombor daripada pengguna melalui baris arahan dan mengira pemfaktorannya.
Kod:
using System; using System.IO; using System.Collections.Generic; namespace ConsoleApp4 { class Program { public static void Main(string[] args) { int number; int factorial; try { //checking if any argument exists if (args.Length == 0) { Console.WriteLine("Please enter a number to calculate " + "its factorial!"); return; } if(args.Length > 1) { Console.WriteLine("Please enter only one number."); return; } Console.WriteLine("The number entered is: " + args[0]); number = Convert.ToInt32(args[0]); factorial = number; //calculating factorial of number using 'for' loop for(int i = number - 1; i >= 1; i--) { factorial = factorial * i; } Console.WriteLine("Factorial of {0} is {1}: ", args[0], factorial); Console.ReadLine(); } catch(Exception ex) { Console.WriteLine(ex.Message); } } } }
Output:
Tangkapan skrin yang mengandungi arahan untuk menjalankan program di atas dengan nombor yang dimasukkan dan dengan output yang diterima adalah seperti berikut:
Nota: Kami telah melaksanakan dua program di atas menggunakan "Prompt Perintah Pembangun untuk VS 2019". Kami juga boleh melaksanakan program ini daripada studio visual dengan menyediakan hujah baris arahan melalui kotak teks 'Argumen baris perintah' dalam pilihan 'Debug' studio visual.Argumen baris arahan ialah parameter yang dihantar daripada pengguna kepada kaedah Utama() program menggunakan baris arahan. Pengguna memasukkan argumen ini semasa pelaksanaan program. Argumen ini diterima oleh kaedah Main() dalam tatasusunan rentetan jenis.
Atas ialah kandungan terperinci Argumen Baris Perintah C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!