相关疑难解决方法(0)

Powershell中的Lambda表达式

我在C#中有一个代码,它使用lambda表达式将委托传递给方法.我如何在PowerShell中实现这一目标.例如,以下是C#代码:

string input = "(,)(;)(:)(!)";
string pattern = @"\((?<val>[\,\!\;\:])\)";
var r = new Regex(pattern);
string result = r.Replace(input, m =>
    {
        if (m.Groups["val"].Value == ";") return "[1]";
        else return "[0]";
    });
Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

这是没有lambda表达式的PowerShell脚本:

$input = "(,)(;)(:)(!)";
$pattern = "\((?<val>[\,\!\;\:])\)";
$r = New-Object System.Text.RegularExpressions.Regex $pattern
$result = $r.Replace($input, "WHAT HERE?")
Write-Host $result
Run Code Online (Sandbox Code Playgroud)

注意:我的问题不是解决这个正则表达式问题.我只想知道如何将lambda表达式传递给在PowerShell中接收委托的方法.

powershell lambda

39
推荐指数
3
解决办法
2万
查看次数

标签 统计

lambda ×1

powershell ×1