2009-02-16 50 views

Trả lời

70

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
+0

1 đẹp câu trả lời chi tiết, đặt nỗ lực của tôi phải xấu hổ – andynormancx

10

Để 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ó.

0

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 
    } 
} 
1

Đâ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".

1

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

11

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... 
    } 
} 
0

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

Các vấn đề liên quan