1.การรับพารามิเตอร์
2.การเปลี่ยนชนิดข้อมูล (casting)
1.การรับอาร์กิวเมนต์
How to: Display Command Line Arguments (C# Programming Guide)
การรับอาร์กิวเมนต์ที่ส่งมาจาก Command Line จะรับเข้ามที่ตัวแปร args
โดยจำนวนอาร์กิวเมนต์จะเท่ากับ args.Length และอาร์กิวเมนต์ตัวแรกคือ args[0]
using System; namespace Hello { class Program { static void Main(string[] args) { // The Length property provides the number of array elements Console.WriteLine("parameter count = {0}", args.Length); for (int i = 0; i < args.Length; i++) { Console.WriteLine("Arg[{0}] = {1}", i, args[i]); } } } }
ทดลองรันโดยใส่ jack และ tip
จะได้ jack เป็นอาร์กิวเมนต์ตัวแรก (args[0])
> dotnet run jack tip parameter count = 2 Arg[0] = jack Arg[1] = tip
How to: Access Command-Line Arguments Using foreach (C# Programming Guide)
การแสดงอาร์กิวเมนต์โดยใช้ foreach
using System; namespace Hello { class Program { static void Main(string[] args) { // The Length property provides the number of array elements Console.WriteLine("parameter count = {0}", args.Length); foreach (string s in args) { Console.WriteLine(s); } } } }
> dotnet run jack tip parameter count = 2 jack tip
2.การเปลี่ยนชนิดข้อมูล (casting)
Command-Line Arguments (C# Programming Guide)
การเปลี่ยนชนิดข้อมูลด้วย Parse
long num = Int64.Parse(args[0]);
หรือเปลี่ยนชนิดข้อมูลด้วย Convert
long num = Convert.ToInt64(s);
using System; namespace Hello { class Program { static void Main(string[] args) { // Test if input arguments were supplied: if (args.Length == 0) { Console.WriteLine("Please enter a numeric argument."); Console.WriteLine("Usage: Double <num>"); return; } // Try to convert the input arguments to numbers. This will throw // an exception if the argument is not a number. // num = int.Parse(args[0]); int num; bool test = int.TryParse(args[0], out num); if (test == false) { Console.WriteLine("Please enter a numeric argument."); Console.WriteLine("Usage: Double <num>"); return; } Console.WriteLine("Double of {0} is {1}.", num, num * 2); } } }
ใช้ int.TryParse() ช่วยตรวจสอบว่าเปลี่ยนชนิดข้อมูลสำเร็จหรือไม่
> dotnet run 5 Double of 5 is 10.