C#相当于perl的$ _

pyC*_*hon 5 c# perl

是否有相当于Perl的$_功能?我正在用C#重写一些旧的perl脚本,我从来没有学过任何perl.下面是我想弄清楚的一个例子

sub copyText {
        while($_[0]){
            $_[1]->Empty();
            $_[0] = $_[1]->IsText();
            sleep(1);
         }
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 11

首先,$_不是一个功能.它只是一个普通的变量(恰好被很多内置函数读取和更改).

其次,您发布的代码不使用$_.它正在访问@_参数列表的元素.

您发布的代码的更易读的版本将是:

sub copyText {
   my ($arg1, $arg2) = @_;
   while ($arg1) {
      $arg2->Empty();
      $arg1 = $arg2->IsText();
      sleep(1);
   }

   $_[0] = $arg1;   # arg1 is passed by reference
}
Run Code Online (Sandbox Code Playgroud)
  • arg1是通过引用传递的布尔值.
  • arg2是某种具有命名方法Empty和一个命名方法的对象IsText.

对不起,我不知道C#,但希望你能继续这样做.