.NET/プログラムに渡された引数を取得する方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* プログラムに渡された引数を取得する方法 [#xd14c8f3]
プログラムの後ろに設定した(する)引数の値を取得するサンプ...
引数を取得する手段を3種類紹介しています。
#htmlinsert(windev-top.html)
#contents
* 参考記事 [#ced9b0ac]
-[[Microsoft|.NET ConsoleApplicationBase.CommandLineArgs ...
-[[Microsoft|.NET Environment クラス>https://docs.microso...
* テスト環境 [#oddfa0e6]
- Windows 10 ver.1909
- Visual Studio 2019
- .NET Core 3.1
* System.Environment.CommandLine & System.Environment.Get...
Environmentクラスにある、CommandLineとGetCommandLineArgs...
C#とVisual Basic(VB)のサンプルコードを紹介します。
- System.Environment.CommandLine~
コマンドラインの文字列がそのまま返却されます。~
.NET Coreだとexeで起動しても、dllになるんですね!~
.NET Frameworkだとexeとなりました。
- System.Environment.GetCommandLineArgs
引数をStringの配列に格納されます。~
本サンプルではループにて引数を1つずつ表示させています。
** C# [#d1b14a8e]
using System;
class Program
{
static void Main(string[] args)
{
String cmd;
String[] opts;
cmd = Environment.CommandLine;
opts = Environment.GetCommandLineArgs();
Console.WriteLine("CommandLine: " + cmd);
int i = 0;
foreach(String opt in opts)
{
Console.WriteLine("opts["+ i + "]: " + opt);
i++;
}
}
}
** Visual Basic [#yb3d2ca8]
Imports System
Module Program
Sub Main(args As String())
Dim cmd As String
Dim opts As String()
cmd = Environment.CommandLine
opts = Environment.GetCommandLineArgs()
Console.WriteLine("CommandLine: " & cmd)
Dim i As Integer = 0
For Each opt As String In opts
Console.WriteLine("opts[" & i & "]: " & opt)
i += 1
Next
End Sub
End Module
** 実行結果 [#ee3c6e63]
引数に 1 2 3 4 5 を渡し実行した結果となります。~
どちらも当然、同じ出力となります。
-C#
D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1>EnvCmdCS.exe...
CommandLine: D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1...
opts[0]: D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1\Env...
opts[1]: 1
opts[2]: 2
opts[3]: 3
opts[4]: 4
opts[5]: 5
-Visual Basic
D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1>EnvCmdVB.exe...
CommandLine: D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1...
opts[0]: D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1\Env...
opts[1]: 1
opts[2]: 2
opts[3]: 3
opts[4]: 4
opts[5]: 5
* Mainから取得する方法 [#w86d0b9a]
Mainメソッドを見ると、argsが渡されています。~
ここに引数が格納されているので、以下のC#, Visual Basicの...
** C# [#x7521843]
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Argument count:" + args.Lengt...
int i = 0;
foreach(String opt in args)
{
Console.WriteLine("opts[" + i + "]: " + opt);
i++;
}
}
}
** Visual Basic [#rd9a2c19]
Imports System
Module Program
Sub Main(args As String())
Console.WriteLine("Argument count:" & args.Length)
Dim i As Integer = 0
For Each opt In args
Console.WriteLine("opts[" & i & "]: " & opt)
i += 1
Next
End Sub
End Module
** 実行結果 [#ie69614d]
引数に A B C D を渡し実行した結果となります。~
どちらも当然、同じ出力となります。
- C#
D:\repos\ArgsCS\bin\Release\netcoreapp3.1>ArgsCS.exe A B C
Argument count:3
opts[0]: A
opts[1]: B
opts[2]: C
-Visual Basic
D:\repos\ArgsVB\bin\Release\netcoreapp3.1>ArgsVB.exe A B C
Argument count:3
opts[0]: A
opts[1]: B
opts[2]: C
以上、C#, Visual Basic(VB)で引数を取得するサンプルコード...
#htmlinsert(windev-btm.html)
終了行:
#navi(../)
* プログラムに渡された引数を取得する方法 [#xd14c8f3]
プログラムの後ろに設定した(する)引数の値を取得するサンプ...
引数を取得する手段を3種類紹介しています。
#htmlinsert(windev-top.html)
#contents
* 参考記事 [#ced9b0ac]
-[[Microsoft|.NET ConsoleApplicationBase.CommandLineArgs ...
-[[Microsoft|.NET Environment クラス>https://docs.microso...
* テスト環境 [#oddfa0e6]
- Windows 10 ver.1909
- Visual Studio 2019
- .NET Core 3.1
* System.Environment.CommandLine & System.Environment.Get...
Environmentクラスにある、CommandLineとGetCommandLineArgs...
C#とVisual Basic(VB)のサンプルコードを紹介します。
- System.Environment.CommandLine~
コマンドラインの文字列がそのまま返却されます。~
.NET Coreだとexeで起動しても、dllになるんですね!~
.NET Frameworkだとexeとなりました。
- System.Environment.GetCommandLineArgs
引数をStringの配列に格納されます。~
本サンプルではループにて引数を1つずつ表示させています。
** C# [#d1b14a8e]
using System;
class Program
{
static void Main(string[] args)
{
String cmd;
String[] opts;
cmd = Environment.CommandLine;
opts = Environment.GetCommandLineArgs();
Console.WriteLine("CommandLine: " + cmd);
int i = 0;
foreach(String opt in opts)
{
Console.WriteLine("opts["+ i + "]: " + opt);
i++;
}
}
}
** Visual Basic [#yb3d2ca8]
Imports System
Module Program
Sub Main(args As String())
Dim cmd As String
Dim opts As String()
cmd = Environment.CommandLine
opts = Environment.GetCommandLineArgs()
Console.WriteLine("CommandLine: " & cmd)
Dim i As Integer = 0
For Each opt As String In opts
Console.WriteLine("opts[" & i & "]: " & opt)
i += 1
Next
End Sub
End Module
** 実行結果 [#ee3c6e63]
引数に 1 2 3 4 5 を渡し実行した結果となります。~
どちらも当然、同じ出力となります。
-C#
D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1>EnvCmdCS.exe...
CommandLine: D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1...
opts[0]: D:\repos\EnvCmdCS\bin\Release\netcoreapp3.1\Env...
opts[1]: 1
opts[2]: 2
opts[3]: 3
opts[4]: 4
opts[5]: 5
-Visual Basic
D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1>EnvCmdVB.exe...
CommandLine: D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1...
opts[0]: D:\repos\EnvCmdVB\bin\Release\netcoreapp3.1\Env...
opts[1]: 1
opts[2]: 2
opts[3]: 3
opts[4]: 4
opts[5]: 5
* Mainから取得する方法 [#w86d0b9a]
Mainメソッドを見ると、argsが渡されています。~
ここに引数が格納されているので、以下のC#, Visual Basicの...
** C# [#x7521843]
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Argument count:" + args.Lengt...
int i = 0;
foreach(String opt in args)
{
Console.WriteLine("opts[" + i + "]: " + opt);
i++;
}
}
}
** Visual Basic [#rd9a2c19]
Imports System
Module Program
Sub Main(args As String())
Console.WriteLine("Argument count:" & args.Length)
Dim i As Integer = 0
For Each opt In args
Console.WriteLine("opts[" & i & "]: " & opt)
i += 1
Next
End Sub
End Module
** 実行結果 [#ie69614d]
引数に A B C D を渡し実行した結果となります。~
どちらも当然、同じ出力となります。
- C#
D:\repos\ArgsCS\bin\Release\netcoreapp3.1>ArgsCS.exe A B C
Argument count:3
opts[0]: A
opts[1]: B
opts[2]: C
-Visual Basic
D:\repos\ArgsVB\bin\Release\netcoreapp3.1>ArgsVB.exe A B C
Argument count:3
opts[0]: A
opts[1]: B
opts[2]: C
以上、C#, Visual Basic(VB)で引数を取得するサンプルコード...
#htmlinsert(windev-btm.html)
ページ名: