C#中兩個byte如何相加
發(fā)現(xiàn)問題
有人會想相加?還不簡單,用 + 呀。
byte a = 1; byte b = 2; byte c = a + b;
以上代碼是通不過編譯的,因為編譯器對待 + 時,有 int 相加、有 decimal 相加、有字符串相加……就是沒有 byte 相加,所以它會用最接近的 int 相加,自然返回的結果也是 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; // 這里結果是 0 byte b = 150; b += 150; // 這里結果是 44,若改為:b = (byte)(b + 150); 是一樣的。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關文章
c# 重載WndProc,實現(xiàn)重寫“最小化”的實現(xiàn)方法
在做“亦歌桌面版”的時候,發(fā)現(xiàn)當打開歌詞狀態(tài)下,用最小化隱藏窗體到托盤的話(如下code #1),在調出發(fā)現(xiàn)歌詞縮小了(雖然顯現(xiàn)的窗體大小跟剛才一樣),從這點看調用該方法其實窗體大小是改變了的(這個過程只是不可視而已)。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ū)別與用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05