PowerShell当心ToString()陷阱

栏目: 编程工具 · 发布时间: 7年前

内容简介:PowerShell当心ToString()陷阱

适用于所有PowerShell版本

所有的.NET对象都有一个ToString()方法,返回该对象代表的文本描述。我们在PowerShell中输出一个对象时,默认也会调用这个对象的ToString方法,但是同类型的ToString返回的对象也可能是不同的,所以在不确定的情况下最好不要随意使用。

比如下面的脚本,两行脚本都会生成一个FileInfo对象,分别代表这同一个文件。唯一的不同只是他们的创建方式不同,但是他们的属性都是一致的,然后ToString()方法返回的结果却迥异。

PS> $file1 = Get-ChildItem $env:windir -Filter regedit.exe
PS> $file2 = Get-Item $env:windir\regedit.exe

$file1.FullName; $file2.FullName
C:\WINDOWS\regedit.exe
C:\WINDOWS\regedit.exe
 
PS> $file1.GetType().FullName; $file2.GetType().FullName
System.IO.FileInfo
System.IO.FileInfo
 
PS> $file1.ToString(); $file2.ToString()
regedit.exe
C:\WINDOWS\regedit.exe

你可能会大叫“Ou,my gold”,怎么可能,这怎么可能,不急,我们下篇文章来揭开这个ToString()返回值竟然不同的神秘面纱。

原文连接: Careful with ToString()


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

集创思维设计矩阵

集创思维设计矩阵

慈思远 / 电子工业出版社 / 2017-4 / 72.00元

《集创思维设计矩阵——写给互联网人的设计指南》总结了作者从业7年以来的设计经历,在大量企业所面对的设计问题基础上,提出了枪型思维,即如何给产品更准确的定位。 在定位准确的基础上加以设计,提出了设计中高维度融合低维度的设计思维,即设计者可以从商业逻辑推演到设计逻辑,让设计更加精确;又提出了设计和计算的博弈,指出在每一步创新的基础上,设计者一定要清晰地评判设计的代价。这样设计后的产品才是可以和企......一起来看看 《集创思维设计矩阵》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码