婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Windows Powershell 變量的類型和強類型

Windows Powershell 變量的類型和強類型

熱門標簽:騰訊地圖標注中心怎么標注 印臺區呼叫中心外呼系統 六寸地圖標注點怎么刪除 莫拉克電梯系統外呼怎么設置 新鄭電銷機器人一個月多少錢 電話機器人公司招聘 如何根據經緯度百度地圖標注 地圖標注的圖案 萬全縣地圖標注app

變量可以自動存儲任何Powershell能夠識別的類型信息,可以通過$variable的GetType().Name查看和驗證Powershell分配給變量的數據類型。

PS> (10).gettype().name
Int32
PS> (9999999999999999).gettype().name
Int64
PS> (3.14).gettype().name
Double
PS> (3.14d).gettype().name
Decimal
PS> ("WWW.MOSSFLY.COM").gettype().name
String
PS> (Get-Date).gettype().name
DateTimePowershell

會給數據分配一個最佳的數據類型;如果一個整數超出了32位整數的上限([int32]::MaxValue),它就會分配一個64位整數的數據類型;如果碰到小數,會分配一個Double類型;如果是文本,Powershell會分配一個String類型;如果是日期或者時間,會被存儲為一個Datetime對象。

這種類型自適應也稱作“弱類型”,雖然使用起來方便,但是也會有一些限制,甚至危險。如果powershell選擇了一個錯誤的類型付給變量,可能會引發一些奇怪的現象。例如有一個變量要存儲的是即將拷貝文件的個數,可是在賦值時付了一個字符串,Powershell不會去做過多的判斷,它會更新這個變量的類型,并且存儲新的數據。所以一般專業的程序員或者腳本開發者更喜歡使用“強類型”,哪怕在賦值時類型不兼容的報錯,他們也樂意接受。

喜歡使用強類型的另一個原因是:每一個數據類型都有屬于自己的函數。例如DateTime,和XML,盡管這兩種類型都可以用純文本表示,但是使用強類型[DateTime]和[XML],對于數據操作起來更方便,這兩個類型的方法可是很豐富奧!

指定類型定義變量

定義變量時可以在變量前的中括號中加入數據類型。例如定義一個Byte類型的變量,因為Byte的定義域為[0,255],一旦嘗試使用一個不在定義域中的值賦給該變量就會顯示一條錯誤信息。

PS> [byte]$b=101
PS> $b
101
PS> $b=255
PS> $b
255
PS> $b.gettype()

IsPublic IsSerial Name                   BaseType
-------- -------- ----                   --------
True   True   Byte                   System.ValueType

PS> $b=256

Cannot convert value "256" to type "System.Byte". Error: "Value was either too large or too small for an unsigned byte.
"
At line:1 char:3
+ $b  =256
  + CategoryInfo     : MetadataError: (:) [], ArgumentTransformationMetadataException
  + FullyQualifiedErrorId : RuntimeException

使用固定類型的優點

手動地定義類型的一個重要原因是每個特殊的數據類型都有自己的特殊命令和特殊方法。比如把一個日期字符串賦給一個變量,Powershell不會自動把這個字符串轉換成日期對象賦給一個變量,因為Powershell畢竟是機器,沒有人那么智能。當你在賦值時指定DateTime類型時,你會發現幾乎所有的.Net 中DateTime類型的方法在這里都得到支持。

PS> [DateTime]$date="2012-12-20 12:45:00"
PS> $date

2012年12月20日 12:45:00

PS> $date.DayOfWeek
Thursday
PS> $date.DayOfYear
355
PS> $date.AddDays(-10)

2012年12月10日 12:45:00Powershell

處理Xml文檔也很方便,

例如有如下LogoTest.xml

  
 LOGOTEST> 
 EXTENSIONS> 
  E>.exe/E> 
  E>.dll/E> 
 /EXTENSIONS> 
 FILES> 
  F>/F> 
 /FILES> 
 DIRS>/DIRS> 
/LOGOTEST>

查詢.exe 和 .dll結點

PS> [ XML ]$xml=(Get-Content .LogoTestConfig.xml)
PS> $xml.LogoTest.Extensions.E
.exe
.dllPowershell 

默認支持的.NET類型如下。

[array],[bool],[byte],[char],[datetime],[decimal],[double],[guid],[hashtable],[int16],[int32],[int],[int64],[long],[nullable],[psobject],[regex],[sbyte].[scriptblock],[single],[float],[string],[switch],[timespan],[type],[uint16],[uint32],[uint64],[ XML ]

您可能感興趣的文章:
  • Windows Powershell 自動化變量
  • Windows Powershell 環境變量
  • Windows Powershell 變量的作用域
  • Windows Powershell 變量的幕后管理
  • Windows Powershell 命令返回數組

標簽:南昌 湘潭 疫苗接種 汕頭 天水 襄陽 喀什 臨汾

巨人網絡通訊聲明:本文標題《Windows Powershell 變量的類型和強類型》,本文關鍵詞  Windows,Powershell,變量,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Windows Powershell 變量的類型和強類型》相關的同類信息!
  • 本頁收集關于Windows Powershell 變量的類型和強類型的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 腾冲县| 宁安市| 苗栗市| 荣成市| 长白| 航空| 上高县| 资兴市| 达拉特旗| 海盐县| 达日县| 常宁市| 长岛县| 金平| 临漳县| 罗田县| 双江| 江安县| 台湾省| 凌源市| 襄垣县| 通州区| 象州县| 秭归县| 阳泉市| 嘉义市| 博白县| 永嘉县| 河津市| 宜阳县| 浑源县| 嵩明县| 大安市| 湖口县| 墨江| 台东县| 苏尼特左旗| 铅山县| 乐至县| 崇州市| 巩义市|