どうも!リョクちゃです。
配列については、これまで何回か取り上げることがありました。
その中でも配列に要素がいくつ含まれているか、については取り上げては来ませんでした。
今回は、配列に要素がいくつ含まれているか、また含まれている要素を取得する際に
気を付けておかないといけないことに触れていきます。
これまでの配列に関する記事は、こちら
ちなみに前回の記事はこちら
目次
配列の要素を取得する
配列の要素を取得するには以下のプロパティを使って取得ができます。
1 2 3 4 |
$test = @("Apple", "Orange", "Bacon") # 要素を取得する $test.Count # 要素の数が返される → 3 |
例の場合、配列変数testに含まれる要素の数は3つなので、
Countプロパティの戻り値は「3」になります。
気を付けておきたい配列の要素数取得
それでは、以下の配列変数にCountプロパティを使うとどうなるでしょう?
Countプロパティを使うと、結果は0が返されます。
言語によっては、nullが返ってくる場合もあるので注意が必要です。
バージョンによっては、PowerShellでもnullが返ってきたような……。
PowerShellの場合は、配列の要素が0個の場合は0として返ってくるので、
条件分岐文を使って、分岐をさせたい場合は気を付けましょう。
ちなみにCountプロパティは、文字列にも使えます。
例) 変数sampleにCountプロパティを使ってみます。
1 2 |
$sample = "あいうえお" $sample.Count |
結果は「1」になります。※文字数をカウントしてくれるわけでないので注意が必要です。
文字数をカウントしたい場合は、Lengthプロパティを使用します。
1 2 |
$sample = "あいうえお" Write-Host $sample.Length |
結果は「5」になります。
ちなみに$null(PowerShellにおけるNull値)にもCountプロパティは使えます。
1 |
$null.Count |
結果「0」になります。※頭の片隅にでも留めておきましょう。
まとめ
配列内の要素数を取得する方法について紹介していきました。
配列内の要素数によって受け取る値が変わってくるので注意が必要です。
また文字列の場合、文字数を取得するならCountプロパティよりLengthプロパティを
使うといいでしょう。
最後までお読みいただき、ありがとうございます。