この記事は公開から3年以上経過しています。
C# 8.0(.NET Core)以降を使う開発で、LINQのLast()を使わずに配列の末尾の値を取得する方法。
特に長期で業務システムの保守開発などに携わっていると、最新の統合開発環境を利用していても開発当初のFrameworkや言語バージョンを利用している事が多く時代遅れなコードを書き続けてしまいがちなので、新機能は意識して利用していきたいところです。
方法
C# 8.0以前では、配列末尾の値を取得したいときには
var items = new[]{1, 2, 3, 4};
var lastItem = items[items.length - 1];
のように配列の長さを元に末尾のインデックス位置を計算していましたが、C# 8.0以降では
var items = new[]{1, 2, 3, 4};
var lastItem = items[^1];
のようにIndex from end operator
の^
を使って末尾側からのインデックスを指定できるようになりました。
参考ウェブサイトなど
- Microsoft Docs
末尾からのインデックス演算子 ^
以上です。