PowerShell当心ToString()陷阱

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

内容简介: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()


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

查看所有标签

猜你喜欢:

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

写给大忙人看的Java SE 8

写给大忙人看的Java SE 8

【美】Cay S. Horstmann(凯.S.霍斯曼) 编 / 张若飞 / 电子工业出版社 / 2014-11 / 59.00元

《写给大忙人看的Java SE 8》向Java开发人员言简意赅地介绍了Java 8 的许多新特性(以及Java 7 中许多未被关注的特性),《写给大忙人看的Java SE 8》延续了《快学Scala》“不废话”的风格。 《写给大忙人看的Java SE 8》共分为9章。第1章讲述了lambda表达式的全部语法;第2章给出了流的完整概述;第3章给出了使用lambda表达式设计库的有效技巧;第4章......一起来看看 《写给大忙人看的Java SE 8》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具