对PowerShell中数据类型的正确命名感到困惑

对PowerShell中数据类型的正确命名感到困惑,powershell,types,Powershell,Types,我有一个关于PowerShell的问题。我阅读了一些文档,其中说明PowerShell中的数据类型是字符串、整数等。但是,例如,当我在PowerShell中实例化一个对象(如so$object=Get Process-Name'NotePad')时,您会如何调用创建的对象呢 $object的正确名称是什么,它也被称为数据类型吗 亲切问候, JohnPowerShell是使用面向对象编程(OOP)框架dotnet构建的。OOP中的一切都是对象,对象可以有许多属性 一个对象的属性可以是许多不同的数据

我有一个关于PowerShell的问题。我阅读了一些文档,其中说明PowerShell中的数据类型是字符串、整数等。但是,例如,当我在PowerShell中实例化一个对象(如so
$object=Get Process-Name'NotePad')时,您会如何调用创建的对象呢

$object的正确名称是什么,它也被称为数据类型吗

亲切问候,


John

PowerShell是使用面向对象编程(OOP)框架dotnet构建的。OOP中的一切都是对象,对象可以有许多属性

一个对象的属性可以是许多不同的数据类型,比如boolean(true-false)、string(“SomeString”)或int(1)

有些属性可能是其他富对象的集合,而有些可能只是字符串

那么说PowerShell中的所有内容都是数据类型吗?我可以把这个问题放松,改为提问

PowerShell中的一切是什么? PowerShell中的所有内容都是一个dotnet对象,它可以是单个数据类型,也可以是许多不同数据类型的集合

在你的例子中

>(Get-Process notepad).GetType() | 
   Select-Object -ExpandProperty FullName 

System.Diagnostics.Process

PowerShell返回一个数据类型的对象。

$object.GetType()。在这种情况下,FullName
应等于
System.Diagnostics.Process
。您是在询问如何知道对象的类型名称,还是关于适当的变量命名?您好,Notjustme和Mathias,谢谢您的回答。我的问题是要澄清它们都是数据类型吗?我可以说$object(在上面的例子中)是PowerShell中的数据类型System.Diagnostics.Process吗?例如,[int]$number=10,$number是dadatypesystem.int32吗?那么,所有内容都被视为数据类型吗?如果我们看到Get Process文档,我们可以阅读“默认情况下,此cmdlet返回System.Diagnostics.Process对象”。我想我们谈论的是物体。简单地说。是你的问题吗?@fearfulb123s是的,或多或少。PowerShell的类型系统是.NET通用类型系统(与C#、F#或VB.NET中的类型系统相同)的直接扩展。一切都是一个对象,每个对象都有一个内在类型,在您的示例中,
$object
的类型是
System.Diagnostics.Process
。任何和所有对象都公开了
GetType()
方法,这样就很容易准确地询问对象是哪种类型:)再详细一点,为什么MS说的是Powershell的datatype而不是type?type是datatype的缩写?程序员喜欢节省时间和按键。毕竟,他们说,虽然需要是一切发明之母,懒惰是一切发明之父。好吧,非常感谢你们所有人,我不得不说,我对答案和评论感到高兴