[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] [已解决]PowerShell的数据类型在哪?

请问ps的完整的数据类型在哪找?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

QQ 20147578

和c# vb.net啥的大差不差吧 毕竟殊途同归

TOP

TOP

本帖最后由 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的
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 4# xczxczxcz


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

TOP

返回列表