powershell: 判断PSObject中是否有指定property的靠谱方法

如何判断一个PSObject中是否定义指定名称的属性,下面的代码中举出了三个方法

$test=New-Object PSObject -Property @{
    compiler=$null
    }
#方法一(不完全靠谱)    
$test.compiler -ne $null
#方法二
(Get-Member -inputobject $test -name "compiler" ) -ne $null
#方法三
($test.PSobject.Properties.name -match "compiler")

上面三个方法, 方法一虽然最简单却不完全靠谱,因为如果compiler是$null时,返回结果是错的。 靠谱的办法是二和三, 而方法三要求powerShell 3.0以上的版本才有效

参考:

https://stackoverflow.com/questions/26997511/how-can-you-test-if-an-object-has-a-specific-property

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

JavaScript 的 async/await : async 和 await 在干什么

async 是“异步”的简写,而 await 可以认为是 async wait 的简写。 async 用于申明一个 function 是异步的,而 await...

572
来自专栏kalifaの日々

美团北京视频面试题目

1.用过makefile吗 2.python的多线程是真正的多线程吗? 3.写一个冒牌排序,再写一个递归的冒泡排序 4.写一个单链表反转,十几行代码以内 ...

702
来自专栏Zephery

2017-03-03学习笔记

一、String StringBuffer.toString()源码: @Override public synchronized String toStrin...

33911
来自专栏WindCoder

Java中的域与变量

Java中的Field译为“字段”,也译为“域”,Field和成员变量(Member Variable)是相同的。所以域是变量中的一种。

401
来自专栏iOSer成长记录

iOS-load和initialize方法

OBJC_SWIFT_UNAVAILABLE 宏表示只能在OC中使用,在Swift中不能使用 +(instancetype)new 可以看作是alloc与in...

401
来自专栏青玉伏案

ReactiveSwift源码解析(九) SignalProducerProtocol延展中的Start、Lift系列方法的代码实现

上篇博客我们聊完SignalProducer结构体的基本实现后,我们接下来就聊一下SignalProducerProtocol延展中的start和lift系列方...

1728
来自专栏有趣的Python

2-Java面向对象-封装

将类的某些信息隐藏在类内部, 不允许外部程序直接访问;通过该类提供的方法来实现对隐藏信息的操作和访问;

772
来自专栏我是攻城师

关于Java内部类字段和方法不能使用static修饰的原因

昨天的文章中,遗留了一个问题就是,为什么Java内部类字段和方法不能使用static修饰。

1747
来自专栏偏前端工程师的驿站

一起Polyfill系列:Function.prototype.bind的四个阶段

昨天边参考es5-shim边自己实现Function.prototype.bind,发现有不少以前忽视了的地方,这里就作为一个小总结吧。 一、Function....

1746
来自专栏阿凯的Excel

Read_CSV参数详解

pandas.read_csv参数详解 pandas.read_csv参数整理 读取CSV(逗号分割)文件到DataFrame 也支持文件的部分导入和选择迭代 ...

3026

扫码关注云+社区