日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 中的char 和 byte

發布時間:2023/12/15 C# 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 中的char 和 byte 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在C#中,char代表一個Unicode的字符,占用的內存不是一個byte。而byte還是一個字節。

那么在char和byte之間copy操作時,可能結果不是我們想要的。
示例:

static void Main(string[] args){byte[] bytes = { 0x31,0x32,0x33,0x34}; // char[] chars1 = new char[4];char[] chars2 = new char[4];//System.Buffer.BlockCopy(bytes,0,chars1,0,4);for (int i = 0; i<4; i++){chars2[i] = (char)bytes[i];}string str1 = new string(chars1); // string str2 = new string(chars2); // 1234System.Console.Read();}

執行時的內存情況:

using System.Globalization; using System.Runtime; using System.Runtime.InteropServices;namespace System {//// 摘要:// 將字符表示為 UTF-16 代碼單位。[ComVisible(true)]public struct Char : IComparable, IConvertible, IComparable<Char>, IEquatable<Char>{//// 摘要:// 表示 System.Char 的最大可能值。此字段為常數。public const Char MaxValue = '\uffff';//// 摘要:// 表示 System.Char 的最小可能值。此字段為常數。public const Char MinValue = '\0';//// 摘要:// 將指定的 Unicode 碼位轉換為 UTF-16 編碼字符串。//// 參數:// utf32:// 21 位 Unicode 碼位。//// 返回結果:// 由一個 System.Char 對象或一個 System.Char 對象的代理項對組成的字符串,等效于 utf32 參數所指定的碼位。//// 異常:// T:System.ArgumentOutOfRangeException:// utf32 不是從 U+0 到 U+10FFFF 的有效的 21 位 Unicode 碼位,不包括從 U+D800 到 U+DFFF 的代理項對。public static string ConvertFromUtf32(int utf32);//// 摘要:// 將 UTF-16 編碼的代理項對的值轉換為 Unicode 碼位。//// 參數:// highSurrogate:// 高代理項代碼單元(即代碼單元從 U+D800 到 U+DBFF)。//// lowSurrogate:// 低代理項代碼單元(即代碼單元從 U+DC00 到 U+DFFF)。//// 返回結果:// highSurrogate 和 lowSurrogate 參數表示的 21 位 Unicode 碼位。//// 異常:// T:System.ArgumentOutOfRangeException:// highSurrogate 不在 U+D800 到 U+DBFF 的范圍內,或 lowSurrogate 不在 U+DC00 到 U+DFFF 的范圍內。public static int ConvertToUtf32(Char highSurrogate, Char lowSurrogate);// ... ...} } //// 摘要:// 表示一個 8 位無符號整數。[ComVisible(true)]public struct Byte : IComparable, IFormattable, IConvertible, IComparable<Byte>, IEquatable<Byte>{//// 摘要:// 表示 System.Byte 的最大可能值。此字段為常數。public const Byte MaxValue = 255;//// 摘要:// 表示 System.Byte 的最小可能值。此字段為常數。public const Byte MinValue = 0;// ... ...} }

總結

以上是生活随笔為你收集整理的C# 中的char 和 byte的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。