Ten en cuenta que en las ciencias un error casi siempre tiene diferentes resoluciones, así que nosotros aquí enseñamos lo más óptimo y mejor.
Solución:
Esta es la variable para el valor actual en la tubería, que se llama $PSItem
en Powershell 3 y posteriores.
1,2,3 | % write-host $_
o
1,2,3 | % write-host $PSItem
Por ejemplo, en el código anterior el %
bloque se llama para cada valor en el array. los $_
o $PSItem
variable contendrá el valor actual.
Creo que la forma más fácil de pensar en esta variable como parámetro de entrada en la expresión lambda en C#. Es decir $_
es parecido a x
en x => Console.WriteLine(x)
Función anónima en C#. Considere los siguientes ejemplos:
Potencia Shell:
1,2,3 | ForEach-Object Write-Host $_
Huellas dactilares:
1
2
3
o
1,2,3 | Where-Object $_ -gt 1
Huellas dactilares:
2
3
Y compare esto con la sintaxis de C# usando LINQ:
var list = new List 1, 2, 3 ;
list.ForEach( _ => Console.WriteLine( _ ));
Huellas dactilares:
1
2
3
o
list.Where( _ => _ > 1)
.ToList()
.ForEach(s => Console.WriteLine(s));
Huellas dactilares:
2
3
Según este sitio web, es una referencia a this
principalmente en bucles.
$_ (guión bajo dólar) ‘ESTE’ token. Por lo general, se refiere al elemento dentro de un bucle foreach. Tarea: Imprimir todos los elementos de una colección. Solución. … | foreach Host de escritura $_
Recuerda algo, que tienes autorización de glosar tu experiencia si te fue de ayuda.