0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オブジェクト初期化子で、インデクサーにIndexを渡す(C#13)

Last updated at Posted at 2024-05-06

参考

この記事は、以下の動画を参考にしています。
詳しくは、動画をご覧ください。

オブジェクト初期化子で、インデクサーにIndexを渡す

現時点(2024年5月)ではC#13のプレビュー機能です。
プロジェクトのLangVersionPreviewにする必要があります。

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>

    <LangVersion>Preview</LangVersion>
 
  </PropertyGroup>

オブジェクト初期化子で、インデクサーにIndexを渡すことができます。

class MyClass
{
    public int[] Numbers { get; } = new int[4];
}

var obj = new MyClass
{
    Number = 
    { // オブジェクト初期化子
        [^4] = 4, // 最後の要素から4つ目
        [^3] = 3,
        [new Index(value: 2, fromEnd: true)] = 2, // 最後の要素から2つ目
        [new Index(value: 1, fromEnd: true)] = 1,
    },
};

// obj.Numbers は [ 4, 3, 2, 1 ] となる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?