C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: vb.netで名前付きパラメータ


(過去ログ 120 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■70326 / inTopicNo.1)  vb.netで名前付きパラメータ
  
□投稿者/ 和音 (1回)-(2014/03/11(Tue) 15:57:04)

分類:[VB.NET/VB2005 以降] 

VBSではWScript.Arguments.Namedによって取得出来ましたが、
vb.netではこれと同等の機能はありますか?
引用返信 編集キー/
■70327 / inTopicNo.2)  Re[1]: vb.netで名前付きパラメータ
□投稿者/ shu (505回)-(2014/03/11(Tue) 16:30:40)
No70326 (和音 さん) に返信
> VBSではWScript.Arguments.Namedによって取得出来ましたが、
> vb.netではこれと同等の機能はありますか?

Environment.GetCommandLineArgs()
でコマンドライン引数を取得して各要素の中を
/取得したい名前:
で始まる文字列を検索し:以降の文字列を取得すればよいです。
引用返信 編集キー/
■70329 / inTopicNo.3)  Re[2]: vb.netで名前付きパラメータ
□投稿者/ 和音 (2回)-(2014/03/12(Wed) 09:25:44)
No70327 (shu さん) に返信
> ■No70326 (和音 さん) に返信
>>VBSではWScript.Arguments.Namedによって取得出来ましたが、
>>vb.netではこれと同等の機能はありますか?
>
> Environment.GetCommandLineArgs()
> でコマンドライン引数を取得して各要素の中を
> /取得したい名前:
> で始まる文字列を検索し:以降の文字列を取得すればよいです。

それをすればよいのはわかっているのですが、
VBSにあった名前を指定すれば値が取れる便利な機能はvb.netには無いのかと思い質問しました。

引用返信 編集キー/
■70331 / inTopicNo.4)  Re[3]: vb.netで名前付きパラメータ
□投稿者/ shu (506回)-(2014/03/12(Wed) 11:34:52)
No70329 (和音 さん) に返信

標準機能としてはないです。

以下のような感じで1度コマンドライン引数を分析してDictionary(Of String,String)
にでも格納しておくとよいかと思います。

Imports System.Text.RegularExpressions

Public Class Form1
    Private NamedArgs As Dictionary(Of String, String)

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim re As New Regex("/(?<name>.+):(?<value>.+)")
        NamedArgs = (From arg In Environment.GetCommandLineArgs
                     Select m = re.Match(arg)
                     Where m.Success
                     Select Name = m.Groups("name").Value,
                            value = m.Groups("value").Value).ToDictionary(Function(itm) itm.Name, Function(itm) itm.value)

        Console.WriteLine(NamedArgs("a"))
        Console.WriteLine(NamedArgs("b"))
        Console.WriteLine(NamedArgs("c"))
        Console.WriteLine(NamedArgs("d"))
        Console.WriteLine(NamedArgs("e"))
    End Sub
End Class

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -