2012-11-08 82 views
1

如何在c#中存儲2維的邏輯值數組,以便佔用最少的空間?在c#中存儲二進制矩陣的最有效的方法是什麼?

+2

取決於它的屬性。它稀疏嗎?什麼是價值範圍?基數? –

+0

值範圍從真到假 - 如果您願意,則從0到1。基數是不同的,但數以百計。雖然它不是稀疏的,它確實由1和0的變化序列組成,在它們之間連續少於10次變化。 – Srv19

回答

0

BitArray使用每個邏輯值的一位。最有效的方法是實現您自己的二維BitArray。使用.NET反射器來獲取BitArray源代碼。

+0

謝謝!我想,一段時間以來,我可以用一維數組來存儲whoole矩陣。也許有像「getItem(x,y)」之類的擴展。 – Srv19

0

如果您需要32列,您可以使用32位整數,並使用位操作來打開關閉位。

我做這在C所有的時間,應在C#中工作藏漢

+1

如果你有一個1x32位的二維數組,可能會工作... – GolezTrol

+0

我正在考慮使用帶有8位掩碼的char數組,並且檢索是[index] = b [index/8]&mask [index% 8]> 0 – Srv19

相關問題