[解決済み] C#の配列に単一の値を入力/インスタンス化する方法は?
2022-04-01 20:22:55
質問
C#で値型のインスタンス化された配列には、自動的に 型のデフォルト値 (例: bool は false、int は 0 など)。
配列にデフォルト以外のシード値を自動入力する方法はありますか?作成時、またはその後の組み込みメソッド(Javaの Arrays.fill() )? 例えば、デフォルトでfalseではなくtrueのboolean配列が欲しいとします。 これを行う組み込みの方法はありますか?それとも、forループで配列を繰り返し処理する必要がありますか?
// Example pseudo-code:
bool[] abValues = new[1000000];
Array.Populate(abValues, true);
// Currently how I'm handling this:
bool[] abValues = new[1000000];
for (int i = 0; i < 1000000; i++)
{
abValues[i] = true;
}
配列を繰り返し、それぞれの値をtrueにリセットしなければならないのは、非効率的です。 これを回避する方法はありますか? すべての値を反転させるとか?
この質問をタイプアウトして考えてみたところ、デフォルトの値は単にC#がこれらのオブジェクトのメモリ割り当てを裏で処理する方法の結果であり、おそらくこれを行うことは不可能であると想像しています。 しかし、私はまだ確かに知りたいです!
どのように解決するのですか?
フレームワークの方法は知りませんが、それを行うための簡単なヘルパーを書くことができます。
public static void Populate<T>(this T[] arr, T value ) {
for ( int i = 0; i < arr.Length;i++ ) {
arr[i] = value;
}
}
関連
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み] 配列を値でコピーする
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#で四捨五入する方法
-
[解決済み】C#はJavaのcharAt()と同等?)
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み] [Solved] アセンブリ System.Web.Extensions dll はどこにありますか?
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み] バイト配列をデフォルトのヌル以外の特定の値に初期化する?[重複しています]。