4

ですから、他のユーザーが私のプログラムを実行して引数を送信できるようにしたいと思います。そのようなことをどのように行うのですか?

4

7 に答える 7

8

起動時の引数を意味しますか?そのようなmyapp.exe blah blah2 blah3

メインメソッドを次のようにします。

public static void Main(string[] args)
{

}

これargsは、プログラムに渡される引数の配列です。したがって、例の場合args[0] == "blah"、、、args[1] == "blah2"など

于 2010-05-21T18:07:20.070 に答える
8

Mainメソッド(コマンドラインアプリで使用する)がある場合は、argsstring-arrayパラメーターとして直接アクセスできます。

public static void Main(string[] args) {
   var arg1 = args[0];
   var arg2 = args[1];
}

コード内の他の場所にいる場合は、静的なEnvironment.GetCommandLineArgsメソッドにアクセスできます。

//somewhere in your code
var args = Environment.GetCommandLineArgs();
var arg1 = args[0];
var arg2 = args[1];
于 2010-05-21T18:08:39.667 に答える
4

プログラムは、このシグネチャを持つメソッドから実行されます

public static void Main(string[] args)

パラメータargsには、スペースで分割されたコマンドライン引数が含まれます。

于 2010-05-21T18:07:17.167 に答える
3

string [] argsは問題なく機能しますが、 Environment.GetCommandLineArgsについて言及する価値があります。

于 2010-05-21T18:27:24.073 に答える
2

Mainコマンドライン引数は、のオプションのstring[]パラメータから読み取ることができます。

static void Main(string[] args)
{
    if (args.Length >= 1)
    {
        string x = args[0];
        // etc...
    }
}

Mainメソッドの次の宣言も有効ですが、コマンドライン引数にアクセスできないことに注意してください。

static void Main()
{
    // ...
}

詳細については、ドキュメントを参照してください。

于 2010-05-21T18:06:54.593 に答える
2

これはデフォルトでサポートされており、引数はプログラムに渡されるargs配列に表示されます。

public static void Main(string[] args)

あなたが言うなら

App.exe Hello World What's Up

コマンドラインで、次のようなargs配列を受け取ります。

[0] = "Hello"
[1] = "World"
[2] = "What's"
[3] = "Up"

必要な引数、それらがどのようにフォーマットされるかなどを決定するのはあなた次第です。

于 2010-05-21T18:07:16.230 に答える
2

これらを試してください:

http://sourceforge.net/projects/csharpoptparse/

http://www.codeproject.com/KB/recipes/command_line.aspx

基本的に、多くの文字列比較などを行う必要はなく、引数を定義してOOの方法で解析できます。私はJavaに似たようなものを使用しました、そしてそれは素晴らしかったです

于 2010-05-21T18:08:06.483 に答える