C# 配列にデフォルト以外の値を自動入力する
C# では、初期化されていない値型の配列に、それぞれのデフォルト値が自動的にシードされます。 (例: int の場合は 0、bool の場合は false)。しかし、これをバイパスしてすべての要素にカスタム シード値を設定することは可能ですか?
Array.Fill() の使用
Java の Arrays.fill() メソッドは次のとおりです。 C# では利用できないため、for ループを使用した反復アプローチが標準的な方法のままです。配列の反復処理は非効率的に見えるかもしれませんが、基礎となるメモリを直接操作する場合には最適な解決策です。
代替アプローチ
組み込みメソッドがないにもかかわらず、 LINQ (統合言語) を使用する別のアプローチもあります。 Query):
bool[] abValues = Enumerable.Repeat(true, 1000000).ToArray();
このアプローチでは、Repeat() メソッドと ToArray() メソッドを利用して、1,000,000 回繰り返される true 値のシーケンスを生成し、それを配列に変換します。このメソッドにより、配列が初期化される前にすべての要素が true に設定されます。 LINQ を使用すると、反復アプローチと比較して追加のオーバーヘッドが発生する可能性があることに注意してください。
メモリ割り当ての考慮事項
おそらく、デフォルト値は C# のメモリ割り当てプロセスに組み込まれています。配列の場合。ただし、Repeat() メソッドを使用すると、自動初期化をバイパスして、必要な値を含む新しい配列を作成することで、この動作を効果的に回避できます。
以上がC# 配列にデフォルト以外の値を自動入力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。