欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PowerShell中的加法運算詳解

 更新時間:2015年09月15日 09:43:29   投稿:hebedich  
這篇文章主要介紹了PowerShell中的加法運算詳解的相關資料,需要的朋友可以參考下

大家已經(jīng)PowerShell中的運算符有了一定感性的認識。我們首先來學習“+”運算符。PowerShell定義了“+”運算符處理數(shù)值類型、字符串類型、數(shù)組類型和哈希表類型的具體行為。在進行數(shù)值計算時,“+”和平時的數(shù)值計算規(guī)則基本一樣。不過需要注意,由于計算機內(nèi)部表示不同數(shù)值類型時,使用的存儲空間不同,因此這些類型都只能表示一個范圍內(nèi)的數(shù)據(jù)。在進行數(shù)值運算的過程中,如果計算結(jié)果超過了參與計算數(shù)值類型的值域時,PowerShell將會自動進行類型轉(zhuǎn)換,使用值域更大的數(shù)據(jù)類型來保存結(jié)果。例如:

PS C:\> 9 + 11
20
PS C:\> (9 + 11).GetType().FullName
System.Int32
PS C:\> [int]::MaxValue + 1
2147483648
PS C:\> ([int]::MaxValue + 1).GetType().FullName
System.Double
PS C:\> [int]::MinValue - 1
-2147483649
PS C:\> ([int]::MinValue - 1).GetType().FullName
System.Double

例子中的[int]::MaxValue表示類型int的最大值,如果再執(zhí)行“+ 1”的運算,就會導致該數(shù)值超出int類型的值域,因此PowerShell自動將數(shù)據(jù)類型轉(zhuǎn)換為Double類型。類似的,[int]::MinValue表示了int類型的最小值。

當對字符串類型操作數(shù)使用“+”運算符時,PowerShell將會對字符串進行連接操作,返回一個新的字符串,這種操作在C#語言中、SQL Server數(shù)據(jù)庫的T-SQL語法中是一致的。例如:

PS C:\> "Hello" + " " + "world!"
Hello world!

當對數(shù)組類型操作數(shù)使用“+”運算符時,將會執(zhí)行數(shù)組連接操作,返回一個新的數(shù)組,這與在C#語言中的行為一致。例如:

PS C:\> $array1 = 1,2,3
PS C:\> $array2 = 4,5
PS C:\> $array3 = $array1 + $array2
PS C:\> "$array3"
1 2 3 4 5

例子中首先定義了數(shù)組array1,它包含1、2和3這三個元素。接下來用數(shù)組array1與數(shù)組array2相加,并將返回結(jié)果存儲在變量array3中。最后,輸出數(shù)組中的元素到控制臺。在PowerShell中,雙引號中引用數(shù)組時,數(shù)組的每個元素將會被存儲在變量$ofs中的字符串相互連接,并輸出。(“$ofs”的默認值為空格字符)。

當對哈希表類型操作數(shù)使用“+”運算符時,PowerShell將把“+”右邊的哈希表鍵值對添加到左邊的哈希表中。如果添加的鍵值已經(jīng)存在于左邊哈希表中,PowerShell就會給出錯誤提示。例如:

PS C:\> $dev = @{ Tom = 1; Jerry = 2}
PS C:\> $sale = @{ Hero = 1; }
PS C:\> $dev + $sale
Name              Value
----              -----
Tom              1
Jerry             2
Hero              1

例子的開頭定義了哈希表dev,它包含了研發(fā)部門的員工Tom和Jerry。接下來定義了哈希表sale,員工只有Hero一人。將dev和sale相加后得到包含這三名員工的新哈希表。如果右邊哈希表中包含了與左邊哈希表相同的鍵值對,PowerShell將會給出錯誤信息:

PS C:\> $manager = @{ Tom = 3 }
PS C:\> $dev + $manager
Bad argument to operator '+': 已添加項。字典中的關鍵字:“Tom”所添加的關鍵字:“Tom”.
At line:1 char:7
+ $dev + <<<< $manager

在前面的例子中,都是相同類型的對象相加。您可能正在思考,如果在“+”兩邊不是相同類型的對象,結(jié)果到底會是什么呢?下面是一些常見的情況:

PS C:\> 123 + '23'
146
PS C:\> 123 + '0xa'
133
PS C:\> 4 + 'test'
Cannot convert value "test" to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:4
+ 4 + <<<< 'test'
PS C:\> '02' + 73
0273

PowerShell在發(fā)現(xiàn)“+”運算符時,將會根據(jù)左操作數(shù)的類型來決定計算的規(guī)則。在第一個表達式中123 + '23'中,123是整數(shù),因此“+”執(zhí)行數(shù)值加法運算。但是由于右操作數(shù)是字符串類型,因此PowerShell首先對該操作數(shù)進行類型轉(zhuǎn)換。所以最后,我們看到結(jié)果為數(shù)值類型的值:146。第二個例子中,字符串包含了一個整數(shù)的十六進制表示形式,PowerShell將該數(shù)值正確轉(zhuǎn)換成數(shù)值類型并進行計算。第三個例子中,字符串'test'是無法轉(zhuǎn)換為整數(shù)類型的,因此PowerShell給出錯誤信息:“輸入串的格式不正確”。第四個例子中,左操作數(shù)變成了包含數(shù)字的字符串,因此PowerShell執(zhí)行了字符串的連接操作。

相關文章

  • linux下非阻塞模式網(wǎng)絡通訊模型示例分享

    linux下非阻塞模式網(wǎng)絡通訊模型示例分享

    這篇文章主要介紹了linux下非阻塞模式網(wǎng)絡通訊模型示例,需要的朋友可以參考下
    2014-02-02
  • PowerShell打開或關閉光驅(qū)

    PowerShell打開或關閉光驅(qū)

    這里給大家分享的是使用PowerShell實現(xiàn)打開或關閉光驅(qū)的小程序,大家也許根本用不到,這里只是個例子,讓大家學習下如何操作windows API
    2015-09-09
  • Windows Powershell 創(chuàng)建數(shù)組

    Windows Powershell 創(chuàng)建數(shù)組

    在日常處理中,除了使用像“數(shù)值類型”和“字符串類型”外,還需要使用能夠包含其他對象的“集合”類型。大多數(shù)常見語言,都提供一些操作集合類型的語法。最基本的集合類型就是數(shù)組類型,它提供了一種下標基于0的數(shù)組對象。
    2014-09-09
  • Powershell實現(xiàn)克隆NTFS文件系統(tǒng)權限

    Powershell實現(xiàn)克隆NTFS文件系統(tǒng)權限

    這篇文章主要介紹了Powershell實現(xiàn)克隆NTFS文件系統(tǒng)權限,克隆安全描述需要管理員權限,注意第一個目錄的安全規(guī)則將全部覆蓋第二個的目錄的,需要的朋友可以參考下
    2014-12-12
  • PowerShell和FFmpeg查找Windows中所有損壞音頻文件

    PowerShell和FFmpeg查找Windows中所有損壞音頻文件

    這篇文章主要為大家介紹了Windows中查找出所有損壞的音頻文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • PowerShell小技巧之定時記錄操作系統(tǒng)行為

    PowerShell小技巧之定時記錄操作系統(tǒng)行為

    這篇文章主要介紹了使用PowerShell定時記錄操作系統(tǒng)行為的小技巧,需要的朋友可以參考下
    2014-10-10
  • Windows Powershell擴展類型系統(tǒng)

    Windows Powershell擴展類型系統(tǒng)

    本文主要詳細介紹了集中將對象轉(zhuǎn)換成文本的方法,并附上示例說明,非常的實用,有需要的朋友可以參考下
    2014-09-09
  • PowerShell注冊表操作命令總結(jié)

    PowerShell注冊表操作命令總結(jié)

    這篇文章主要介紹了PowerShell注冊表操作命令總結(jié),對訪問注冊表所需的所有命令做了一簡要描述,需要的朋友可以參考下
    2014-05-05
  • PowerShell小技巧之獲取域名whois信息

    PowerShell小技巧之獲取域名whois信息

    平常我們要查詢whois信息都是通過godaddy、name.com、萬網(wǎng)、新網(wǎng)等域名注冊商網(wǎng)站通過查詢頁面提交域名進行查詢,既慢又不能批量查詢,太費勁了,這里我就把我珍藏很久的一個PS function貢獻給大家,這個腳本支持140多種后綴的域名進行查詢。
    2014-10-10
  • PowerShell中使用正則表達式匹配字符串實例

    PowerShell中使用正則表達式匹配字符串實例

    這篇文章主要介紹了PowerShell中使用正則表達式匹配字符串實例,主要介紹match操作符的使用,需要的朋友可以參考下
    2014-07-07

最新評論