C#コマンドラインから引数の指定の仕方

このQ&Aのポイント
  • C#の初心者の方がコマンドラインから引数の指定の仕方を知りたいです。
  • 具体的なコード例を示しながら、C#でコマンドラインから引数を指定する方法を解説します。
  • デバッグなしで開始してもコマンドラインから引数を指定できるようにする手順を説明します。
回答を見る
  • ベストアンサー

c# コマンドラインから引数の指定の仕方

c#を勉強している初心者です。 入門書やネットで検索してもコマンドラインから引数の指定の仕方が わかりません。 次のように書いた後 class CommandLine {    static void Main(string[] args)     {        Console.WriteLine("parameter count = {0}", args.Length);        for (int i = 0; i < args.Length; i++)        {           Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);        }     } } デバックなしで開始 → 続行するには何かキーを押してください で終わってしまいます。 いつ、どのようにしてコマンドラインから指定(書き込む?)のですか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

そのまんま、コマンドプロンプトから起動する時にコマンドライン引数を渡すことになります。 【VisualStudioでのデバッグ時にコマンドライン引数を渡したい】ということであれば、 プロジェクトのプロパティを開いて、「デバッグ」タブを選択すると「開始オプション」ってところに「コマンドライン引数」を設定するテキストボックスがあります。 # DebugとReleaseでは別に設定できるのでご注意を。

i048nz
質問者

お礼

プロジェクトのプロパティから設定するテキストボックスを 見つけられました。 ありがとうございました。

その他の回答 (1)

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.2

>いつ、どのようにしてコマンドラインから指定(書き込む?)のですか? >デバックなしで開始 → 続行するには何かキーを押してください 統合開発環境下で「実行」をする場合、通常なら「実行時引数の指定」が出来るようになっている筈です。 例:Visual Studio 2008の場合 http://housoubu.mizusasi.net/data/other/ot003.html 貴方がお使いの統合開発環境が何か判りませんが、通常、必ず指定出来るようになっています。 なお、統合開発環境を終了して、実行ファイルを直接に起動する場合は、MS-DOSプロンプトで、実行ファイル名に続いてスペースで区切って引数を「手で入力」して指定しないといけません。

i048nz
質問者

お礼

私が使っているのはvisualstudio2010 c#です。 指定できるようになりました。 ありがとうございました。

関連するQ&A

  • コマンドライン引数を用いて。

    コマンドライン引数を用いて足し算をさせるプログラムです。 class goukei{ public static void main(String args[]){ int i, count; int sum = 0; int a[]; count = args.length; for(i=0; i<args.length; i++){ int arg_i = Integer.parseInt(args[i]); sum = sum + arg_i; } System.out.println("引数の数は" + count); System.out.println("合計は" + sum); } } と考えたのですが、もっとこうしたほうがいいという部分があれば教えてください。 一応これでできているとは思うのですがイマイチ自信がありません・・・。

    • ベストアンサー
    • Java
  • コマンドラインがわかりません!!

    (質問) (1)コマンドラインというのがわかりません。 (2)下の説明のところが全部わかりません。 よろしくおねがいします!! -------------------------------------------------- (説明) ファイルを処理するとき、ファイル名指定はコマンドラインから行うのが便利です。Javaではコマンドライン引数はmain( )メソッドの引数として次のように用意されています。 public static void main (String args[ ]) { ・・・・・ } このargs引数を使うと、コマンドラインから入力されたパラメーターを次のように取得できます。 最初のパラメーター文字列は0です。 args.length args[0] args[1] args [2]  ・  ・  ・

    • ベストアンサー
    • Java
  • コマンドライン引数はどこからやって来たのですか?

    こんにちは Javaで、 public static void main(String args[]) という引数は、どこからやって来たのでしょうか? これがコマンドラインに初めて書かれる文だとしたら、どこから引数を貰うのでしょうか? また、2番目に書いたクラスだったとしても、他のクラスのなかのものをそんな簡単に貰うことはできるのでしょうか? もし宜しければ回答お願い致します。

    • ベストアンサー
    • Java
  • javaのコマンドライン引数について

    このプログラムをベースにして、配列をコマンドライン引数で渡せるようにしたいのですが、どうすれば良いのでしょうか。教えてください。 public class Test { public static void main(String[] args){ int[] numbers = {14,8,1,5,0,2,2,5,8,50}; System.out.print("配列中の最大値:"+maxNumber(numbers)); } static int maxNumber(int[] numbers){ int max = 0; for(int i=0; i<numbers.length;i++){ if(max < numbers[i]){ max = numbers[i]; } } return max; } }

    • ベストアンサー
    • Java
  • コマンドライン引数について

    コマンドライン引数について opencvのサンプルを試しているのですが、困っています。 xcodeでビルドするとビルドは問題ないのですが、実行できない状態のものがあります。実行できないものは「デバックは正常に終了しました」や「ステータス255で終了しました」と出てしまいます。 前回の質問でコマンドライン引数が問題ではないか?とアドバイス頂き、色々と調べたのですが、main関数がコマンドライン引数をとることは理解出来たところで止まっています…。引数の指定の方法がわからず、Terminalから指定しようとexeファイルを開けて入力しようとしてみるのですが「プロセスは完了しました」と出てしまい、入力することができません… このやり方があっているかわからず、混乱しています。もし、検討違いのことを言っていたらすみません。 誰か引数の指定方法についてご存知であれば、アドバイス頂けないでしょうか? よろしくお願い致します。

  • コマンドライン引数のハイフン1つと2つの違い

    今作っているプログラムにコマンドライン引数を設定しているのですが、公開するにあたり一般的な形式に揃えようと思って調べています。コマンドライン引数には次のような色々な形式がありますが /arg value -arg value --arg value これらの違いがよく分かりません。おそらくスラッシュ(/arg)とハイフン1つ(-arg)は同じではないかと思うんですが、ハイフン2つ(--arg)は何なのでしょう?指定したか否かだけが問題(値は関係ない)のブーリアン? ご存知の方、ぜひ情報提供お願いします。

  • コマンドライン引数 java

    学校で、2進数表記された文字列number1、number2…numberNを数値に変換し、合計を算出し、2進数表記の文字列に変換した結果を出力するプログラムを組む課題が出ました。 java Lesson06 number1 number2 … numberN の形式で受け取ったコマンドライン引数を元に、処理を行います。 ※number1からnumberNは、全て0か1のみで構成されている文字列 * 文字列の加算 * System.outまたはSystem.errのprint系メソッドで、Stringの値を受け取るもの以外 * Integerなどのラッパークラス * DecimalFormatなどの書式変換クラス 上記の機能は使ってはいけません。 ---- class Lesson{  public static void main(String args[]){   int sum;   for(int i = 1; i < args.length; i ++) {    int len = strlen(args[i]);//※    for(int j = 0; j < len; j ++) {     if(args[i][len - j - 1] == "1") {//※      sum = pow(2, j) + sum;//※     }    }   }  } } ---- とりあえず、与えられた二進数を計算する部分まで作ってみたのですが、※の部分でエラーが出てしまいます。 コマンドライン引数もよく分からなくて困っているので、教えていただければ助かります。 以上よろしくお願いいたします。

    • ベストアンサー
    • Java
  • コマンドライン引数

    1~10の整数のコマンドライン引数を受け取り、それと等しい英語及び受け取った引数の数を表示するプログラムを作りたいのですがわかりません。 引数がない場合、1~10以外の整数の場合はエラーメッセージを表示させてプログラムを終了するようにしたいです。 出力する英語の文字列は String 配列に格納するようにします。 実行結果です。 % java englishNum 2 3 1 Two Three One length : 3 % java EnglishNum No Parameter! % java EnglishNum 30 Only 1-10!

    • ベストアンサー
    • Java
  • C#

    C#の質問です。 『クラスIntArrayを作成し、作成したクラスが正常に動作するか検証するためのクラスを作成してください。』 というプログラムを組んでおり、クラスIntArrayとその動作を検証するクラスを作成したのですが、クラスIntArrayについて「問題文で指定された通りに作成されていません。」という指摘を受けました。 何度も見直したのですが、どの部分が指定された通りになっていないのか、自分では見つけることが出来ませんでした; 私が作成したクラスIntArrayとその仕様については、下記のとおりです。 お分かりになる方がいらっしゃいましたら、ご助言をお願いいたします。 【クラスIntArray 仕様】 <インスタンス変数> int型の配列data <コンストラクタ> 以下の3種類を用意します。 ・int型の配列を受け取り、そのコピーを内部的に保持します。 ・第1引数で指定された要素数を持つ配列を確保し、全ての要素に初期値として第2引数で指定された値をセットします。 ・第1引数で指定された要素数を持つ配列を確保し、全ての要素に初期値としてゼロをセットします。 <メソッド> ・Sort 内部的に保持している配列を、引数の値がtrueであれば昇順、falseであれば降順にソートする ・Length IntArrayが保持している配列の要素数を取得する ・GetElement 引数に指定された要素番号の値を取得する ・SetElement 第1引数に指定された要素番号に第2引数で指定された値を格納する ・GetArray IntArrayが保持している配列のコピーを取得する 【作成したクラスIntArray】 using System; private int[] data; public IntArray(int[] array) { this.data = new int[array.Length]; array.CopyTo(this.data, 0); for (int index = 0; index < this.data.Length; index++) { // 先頭の要素以外を出力する場合 if (index > 0) { Console.Write(", "); } Console.Write(this.data[index]); } Console.WriteLine(); } public IntArray(int args1, int args2) { int[] myarray = new int[args1]; for (int index = 0; index < args1; index++) { myarray[index] = args2; } for (int index = 0; index < myarray.Length; index++) { // 先頭の要素以外を出力する場合 if (index > 0) { Console.Write(", "); } Console.Write(myarray[index]); } Console.WriteLine(); } public IntArray(int args) { int[] myarray = new int[args]; for (int index = 0; index < args; index++) { myarray[index] = 0; } for (int index = 0; index < myarray.Length; index++) { // 先頭の要素以外を出力する場合 if (index > 0) { Console.Write(", "); } Console.Write(myarray[index]); } Console.WriteLine(); } public void Sort(bool flg) { Array.Sort(this.data); //昇順にソート if (!flg)  //降順にソート { Array.Reverse(this.data); } for (int index = 0; index < this.data.Length; index++) { // 先頭の要素以外を出力する場合 if (index > 0) { Console.Write(", "); } Console.Write(this.data[index]); } Console.WriteLine(); } public int Length() { return this.data.Length; } public int GetElement(int args) { int getvalue = this.data[args]; return getvalue; } public void SetElement(int args1, int args2) { this.data[args1] = args2; } public void GetArray() { for (int index = 0; index < this.data.Length; index++) { // 先頭の要素以外を出力する場合 if (index > 0) { Console.Write(", "); } Console.Write(this.data[index]); } Console.WriteLine(); } }

  • c#による実行ファイルの作成方法

    using System; class test { public static int Main(string[] args) { int x = args.Length; for (int i = 0; i < x; i++) Console.WriteLine("{0}, {1}", i, args[i]); return 0; } } 上記のプログラムをvisual c# 2010 expressで ビルドした後、コマンドプロンプトから test.exe aaa bbb ccc と入力し引数を渡して呼び出そうとしたのですが、 「'test.exe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 と表示されうまくいきませんでした。 test.csを保存したうえで今度はフルパスでの入力や、 csc test.csなども試してみましたが、ダメでした。 参考書には「ビルドをすることでexeの実行ファイルが作成される」と書かれているのですが、 PC内にtest.exeは見当たりません。 コマンドライン引数が渡せないのは実行ファイルが生成されていないためだと思うのですが、 まだ始めたばかりで解決の糸口もわからない状況です。 何かヒントになるようなことでもいいので教えていただけると助かります。

専門家に質問してみよう