Trong C# lớp Main có tham số string [] args."string [] args" trong lớp chính là gì?
Điều đó là gì và nó được sử dụng ở đâu?
Trong C# lớp Main có tham số string [] args."string [] args" trong lớp chính là gì?
Điều đó là gì và nó được sử dụng ở đâu?
Từ C# programming guide on MSDN:
Tham số của phương pháp chính là một mảng chuỗi đại diện cho các đối số dòng lệnh
Vì vậy, nếu tôi đã có một chương trình (MyApp.exe) như thế này:
class Program
{
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
}
}
đó tôi bắt đầu tại dòng lệnh như thế này:
MyApp.exe Arg1 Arg2 Arg3
phương pháp chính sẽ là p assed một mảng có chứa ba chuỗi: "Arg1", "Arg2", "Arg3".
Nếu bạn cần chuyển một đối số có chứa khoảng trống thì hãy đặt nó trong dấu ngoặc kép.Ví dụ:
MyApp.exe "Arg 1" "Arg 2" "Arg 3"
Đối số dòng lệnh thường được sử dụng khi bạn cần chuyển thông tin cho ứng dụng của bạn khi chạy. Ví dụ, nếu bạn đang viết một chương trình sao chép một tệp từ một vị trí này sang vị trí khác, bạn có lẽ sẽ vượt qua hai vị trí dưới dạng đối số dòng lệnh. Ví dụ:
Copy.exe C:\file1.txt C:\file2.txt
Để truyền các tham số dòng lệnh. Ví dụ: args[0]
sẽ cho bạn tham số dòng lệnh đầu tiên, nếu có.
Bạn phải đã xem một số ứng dụng chạy từ dòng lệnh và cho phép bạn chuyển các đối số đó. Nếu bạn viết một ứng dụng như vậy trong C#, mảng args
đóng vai trò là tập hợp các đối số đã cho.
này cách bạn xử lý chúng:
static void Main(string[] args) {
foreach (string arg in args) {
//Do something with each argument
}
}
Khi bạn chạy các ứng dụng, bất kỳ đối số dòng lệnh được phân tích thành một mảng và thông qua vào lớp học của bạn phương pháp chính cho sự nhìn chăm chú của bạn:
http://msdn.microsoft.com/en-us/library/cb20e19t(VS.80).aspx
Đó là vì nếu bạn định chạy ứng dụng của mình từ dòng lệnh. Các tham số này sẽ có thể truy cập được trong mảng args. Truy cập http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx để biết thêm chi tiết.
Đây là một mảng các công tắc dòng lệnh chuyển sang chương trình. Ví dụ. nếu bạn khởi động chương trình bằng lệnh "myapp.exe -c -d
" thì string[] args[]
sẽ chứa các chuỗi "-c" và "-d".
Tham số args lưu tất cả các đối số dòng lệnh do người dùng cấp khi bạn chạy chương trình.
Nếu bạn chạy chương trình của bạn từ bàn điều khiển như thế này:
program.exe có 4 thông số
tham số args của bạn sẽ chứa bốn chuỗi: "có", "là" , "4", và "thông số"
Dưới đây là một ví dụ về cách truy cập vào các đối số dòng lệnh từ args tham số: example
Ngoài các câu trả lời của mọi người, bạn nên lưu ý các tham số là tùy chọn trong C# nếu ứng dụng của bạn không sử dụng đối số dòng lệnh.
Mã này là hoàn toàn hợp lệ:
internal static Program
{
private static void Main()
{
// Get on with it, without any arguments...
}
}
Bên cạnh những câu trả lời khác. Bạn nên lưu ý những arg này có thể cung cấp cho bạn đường dẫn tệp đã được kéo và thả trên tệp .exe
. tức là nếu bạn kéo và thả bất kỳ tệp nào trên tệp .exe
của mình thì ứng dụng sẽ được khởi chạy và arg[0]
sẽ chứa đường dẫn tệp đã được thả vào tệp đó.
class Program
{
static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
}
điều này sẽ in đường dẫn tệp bị rơi trên tệp .exe
. ví dụ
C: \ Users \ abc \ Documents \ Visual Studio \ Projects \ MyTestApp \ MyTestApp \ bin \ MyTestApp.exe
1 đẹp câu trả lời chi tiết, đặt nỗ lực của tôi phải xấu hổ – andynormancx