我一直在聲明一個具有ulong參數的類,但是當我想要在構造函數中分配它時,程序告訴我,有些東西是錯的,但我不明白是什麼。這是一種超長類型,我不想讓他轉換任何東西。如果 public class new_class
{
ulong data;
new_class()
{
Random rnd = new Random();
data = rnd
我有一個非託管DLL我引用我的項目中使用[DLLImport],但我匹配方法簽名時收到奇怪的結果。 下面是來自DLL的例子簽名: DLLEXPORT unsigned long OpenPort(unsigned long ulPort,
unsigned long ulBaudRate,
unsigned long ulByteSize,
好,所以我的問題是我必須「進程」從一個端點響應的大整數。這是一個散列,我必須做一些掩碼和位移以便以可讀的方式查看這些數據(它是一個版本:主要版本,次要版本,內部版本等)。 在C#我隨便寫幾行這樣做處理: /// Endpoint data
ulong data = 567454918934921216;
ulong major = (version & 0xFFFF000000000000L
對於像C#中的ulong這樣的有意溢出結構的本質,我有些困惑。 本質上我正在做一個網格,我想成爲ulong.max X ulong.max方塊。如果我在座標上執行算術運算,我希望它自動換行到網格的另一側。然而,看起來如果我將兩個ulpon放在一起並導致溢出,那麼我最終會得到零,而不是我所擁有的任何「模數(ulong.max)」。也許我誤解了當我溢出64位ulong時會發生什麼。 任何關於如何爲網格