2017-06-02 3 views
0

は私のコードで

私はメソッドの引数の整数値を渡したいもの
static void Main(string[] args) 
{ 

} 

static void Main(int? args) 
{ 

} 
+0

いいえ。変換を処理するには、多くのコマンドラインパーサライブラリの1つを変換または使用する必要があります。 –

+4

> Ahem、ここでASP.NETタグの目的は何ですか? – Steve

+1

どこにasp.netタグがありますか? @Steve – Jay

答えて

10

文字列を受け入れることはできません。しかし、これらの文字列を整数として解析することができます。例:

static void Main(string[] args) 
{ 
    int[] intArgs = args.Select(int.Parse).ToArray(); 
    // ... 
} 

引数のいずれかが実際に整数でない場合、これは例外をスローすることに注意してください。ユーザーフレンドリーなメッセージを表示するには、代わりにint.TryParseを使用する必要があります。

static void Main(string[] args) 
{ 
    int[] intArgs = new int[args.Length]; 
    for (int i = 0; i < args.Length; i++) 
    { 
     if (!int.TryParse(args[i], out intArgs[i])) 
     { 
      Console.WriteLine($"All parameters must be integers. Could not convert {args[i]}"); 
      return; 
     } 
    } 
} 
1

私はそれが不可能だ願っていますが、C#のコンソールアプリケーションでメソッドの引数として整数値を渡すために、そのことは可能ですあなたあなたは既に取得している文字列配列として値を取得し、それらを解析して必要な整数を取得できます。

public static int[] intArgs; 
static void Main(string[] args) 
{ 
    intArgs = args.Select(x=> int.Parse(x)).ToArray(); 
} 
0

コンソールを使用するときは、「123」を入力すると、それは123 ので、静的な無効Main (int[] args)はオプションではありません、文字列123でない整数値です。

MSDNのドキュメントを確認:あなたはintに文字列を解析することができますしかし https://msdn.microsoft.com/en-us/library/cb20e19t(VS.71).aspx

を。 例:

var intValue = int.Parse(args[0]);