C#中兩個byte如何相加
發(fā)現(xiàn)問題
有人會想相加?還不簡單,用 + 呀。
byte a = 1; byte b = 2; byte c = a + b;
以上代碼是通不過編譯的,因為編譯器對待 + 時,有 int 相加、有 decimal 相加、有字符串相加……就是沒有 byte 相加,所以它會用最接近的 int 相加,自然返回的結(jié)果也是 int,而 int 類型是不能直接賦值給更小的 byte 類型的。
解決方法
所以,得改成這樣:
byte a = 1; byte b = 2; byte c = (byte)(a + b);
還好 +=
不存在這個問題,a += b
是沒問題的。
byte 最大值
byte 最小值是 0,最大值是 255,所以 byte a = 256
是通不過編譯的。
而 + 超過的就不一樣了。
byte a = 255; a += 1; // 這里結(jié)果是 0 byte b = 150; b += 150; // 這里結(jié)果是 44,若改為:b = (byte)(b + 150); 是一樣的。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
- C# Stream 和 byte[] 之間的轉(zhuǎn)換
- C# 字符串string和內(nèi)存流MemoryStream及比特數(shù)組byte[]之間相互轉(zhuǎn)換
- C# byte數(shù)組與Image相互轉(zhuǎn)換的方法
- C#中Byte[]和String之間轉(zhuǎn)換的方法
- C#實現(xiàn)Stream與byte[]之間的轉(zhuǎn)換實例教程
- C#中string與byte[]的轉(zhuǎn)換幫助類-.NET教程,C#語言
- C#中圖片.BYTE[]和base64string的轉(zhuǎn)換方法
- C#中Byte轉(zhuǎn)換相關(guān)的函數(shù)
- C#如何從byte[]中直接讀取Structure實例詳解
相關(guān)文章
c# 重載WndProc,實現(xiàn)重寫“最小化”的實現(xiàn)方法
在做“亦歌桌面版”的時候,發(fā)現(xiàn)當(dāng)打開歌詞狀態(tài)下,用最小化隱藏窗體到托盤的話(如下code #1),在調(diào)出發(fā)現(xiàn)歌詞縮小了(雖然顯現(xiàn)的窗體大小跟剛才一樣),從這點看調(diào)用該方法其實窗體大小是改變了的(這個過程只是不可視而已)。2009-02-02Unity Shader實現(xiàn)動態(tài)霧效果
這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)動態(tài)霧效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04C#中DataSet,DataTable,DataView的區(qū)別與用法
這篇文章介紹了C#中DataSet,DataTable,DataView的區(qū)別與用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05