Board logo

标题: [问题求助] [已解决]PowerShell的数据类型在哪? [打印本页]

作者: czjt1234    时间: 2023-4-26 19:43     标题: [已解决]PowerShell的数据类型在哪?

请问ps的完整的数据类型在哪找?
作者: jyswjjgdwtdtj    时间: 2023-4-26 19:50

和c# vb.net啥的大差不差吧 毕竟殊途同归
作者: idwma    时间: 2023-4-26 20:52

https://learn.microsoft.com/zh-c ... ang-spec/chapter-04
作者: xczxczxcz    时间: 2023-4-26 22:04

本帖最后由 xczxczxcz 于 2023-4-26 22:09 编辑

怎么偶感觉现在的微软文档和以前看过的CSDN互抄?太像了!
微软说:字符串为引用类型。这它妈是乱说的吗。在C#中字符串是值传递。会重新申请新的内存。
那么POWERSHELL中的字符串是引用类型吗?
看栗子:
  1. # 对字符串拆装箱
  2. function Change_StringValue([ref][string]$s){
  3. $s.Value=$s.Value+"这是新增的";  #拆箱装箱
  4. }
  5. # 对整数拆装箱
  6. function Add_IntValue([ref][int]$_int){
  7. $_int.Value+=5;  #拆箱装箱
  8. }
  9. # 字符串是否为引用类型
  10. function New-StringValue([string]$s){
  11. $s=$s+"这是新增的"; #无拆箱装箱
  12. return $s
  13. }
  14. $a=10;
  15. $str="初始值";
  16. $s="是否新增";
  17. Add_IntValue([ref]$a); #对$a装箱拆箱 获取新的$a
  18. Write-Host '$a='$a;  # $a=15;
  19. Change_StringValue([ref]$str); #对$str装箱拆箱 获取新的$str
  20. Write-Host '$str='$str; # $str=初始值这是新增的
  21. $r=New-StringValue -s $s; #传入字符串,若是引用类型则$s会变
  22. Write-Host '$s='$s;  # $s=是否新增;
  23. Write-Host '$r='$r;  # $r=是否新增这是新增的 这是返回值
复制代码
这明显 字符串是值传递吗,和C#一样的。TNN的
作者: idwma    时间: 2023-4-26 22:47

回复 4# xczxczxcz


会不会是原文被翻译后意思变了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2