ですから、他のユーザーが私のプログラムを実行して引数を送信できるようにしたいと思います。そのようなことをどのように行うのですか?
7 に答える
起動時の引数を意味しますか?そのようなmyapp.exe blah blah2 blah3
メインメソッドを次のようにします。
public static void Main(string[] args)
{
}
これargs
は、プログラムに渡される引数の配列です。したがって、例の場合args[0] == "blah"
、、、args[1] == "blah2"
など
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];
プログラムは、このシグネチャを持つメソッドから実行されます
public static void Main(string[] args)
パラメータargs
には、スペースで分割されたコマンドライン引数が含まれます。
string [] argsは問題なく機能しますが、 Environment.GetCommandLineArgsについて言及する価値があります。
Main
コマンドライン引数は、のオプションのstring[]
パラメータから読み取ることができます。
static void Main(string[] args)
{
if (args.Length >= 1)
{
string x = args[0];
// etc...
}
}
Mainメソッドの次の宣言も有効ですが、コマンドライン引数にアクセスできないことに注意してください。
static void Main()
{
// ...
}
詳細については、ドキュメントを参照してください。
これはデフォルトでサポートされており、引数はプログラムに渡されるargs配列に表示されます。
public static void Main(string[] args)
あなたが言うなら
App.exe Hello World What's Up
コマンドラインで、次のようなargs配列を受け取ります。
[0] = "Hello"
[1] = "World"
[2] = "What's"
[3] = "Up"
必要な引数、それらがどのようにフォーマットされるかなどを決定するのはあなた次第です。
これらを試してください:
http://sourceforge.net/projects/csharpoptparse/
http://www.codeproject.com/KB/recipes/command_line.aspx
基本的に、多くの文字列比較などを行う必要はなく、引数を定義してOOの方法で解析できます。私はJavaに似たようなものを使用しました、そしてそれは素晴らしかったです