首頁 >後端開發 >C++ >如何使用非預設值自動填入 C# 陣列?

如何使用非預設值自動填入 C# 陣列?

Barbara Streisand
Barbara Streisand原創
2024-12-30 20:35:17935瀏覽

How Can I Auto-Populate C# Arrays with Non-Default Values?

使用非預設值自動填入C# 陣列

在C# 中,未初始化的值類型陣列會自動使用其各自的預設值進行播種(例如,0 代表int,false 代表bool)。但是,是否可以繞過這個並為所有元素設置自訂種子值?

使用Array.Fill()

Java 的Arrays.fill() 方法是在C# 中不可用,因此使用for 迴圈的迭代方法仍然是標準方法。迭代數組可能看起來效率低下,但它是直接操作底層記憶體時的最佳解決方案。

替代方法

儘管缺少內建方法,還有一種使用LINQ(語言整合)的替代方法Query):

bool[] abValues = Enumerable.Repeat(true, 1000000).ToArray();

此方法利用Repeat() 和ToArray() 方法產生重複1,000,000次的真值序列,然後將其轉換為陣列。此方法可確保在初始化數組之前將所有元素設為 true。值得注意的是,與迭代方法相比,使用 LINQ 可能會帶來額外的開銷。

記憶體分配注意事項

如所懷疑的,預設值在 C# 的記憶體分配過程中根深蒂固。對於數組。但是,使用 Repeat() 方法可以透過建立具有所需值的新陣列來繞過自動初始化,從而有效地規避此行為。

以上是如何使用非預設值自動填入 C# 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn