最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#字符串與數(shù)值類型、字節(jié)數(shù)組的互相轉(zhuǎn)換實(shí)戰(zhàn)案例

 更新時(shí)間:2023年06月02日 10:08:58   作者:微小冷  
最近由于編程的需要,對(duì)C#的類型轉(zhuǎn)換做了一些研究,下面這篇文章主要給大家介紹了關(guān)于C#字符串與數(shù)值類型、字節(jié)數(shù)組的互相轉(zhuǎn)換的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

TryParse

正常來說,想把類似1024或者3.14之類的字符串轉(zhuǎn)為對(duì)應(yīng)數(shù)據(jù)類型的數(shù)值,只需要int.Parsedouble.Parse就可以了。如果輸入的是一列數(shù)組,也沒有問題,只需分割一下就可以,例如

string test = "5,2,0";
int i = 0;
foreach(var item in test.Split(','))
    bs[i++] = int.Parse(item);

而且轉(zhuǎn)換16進(jìn)制也毫無壓力,只需

int.Parse("AB", System.Globalization.NumberStyles.HexNumber);

在C#中,Parse是一種非常統(tǒng)一的函數(shù),諸如int, uint, double等等數(shù)據(jù)類型,均提供了parse函數(shù),用于將字符串轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)類型。

parse并不安全,若輸入?yún)?shù)不符合要求,則會(huì)報(bào)錯(cuò),導(dǎo)致程序崩潰,比如把abc轉(zhuǎn)成整數(shù),這個(gè)顯然是不可能的。所以C#提供了一種不報(bào)錯(cuò)的轉(zhuǎn)換方案,即TryParse,其使用方法如下

int intOut;
while (true)
{
    string? str = Console.ReadLine();
    if (int.TryParse(str, out intOut))
        Console.WriteLine($"您輸入了數(shù)字{str}");
    else
        Console.WriteLine("輸入不合法");
}

效果為

1234
您輸入了數(shù)字1234
asdf
輸入不合法

Convert

在實(shí)際應(yīng)用中,十六進(jìn)制字符串轉(zhuǎn)字節(jié)數(shù)組,是十分常見的需求,如果用byte.Parse相對(duì)來說比較麻煩,這個(gè)時(shí)候就需要用到更高級(jí)的轉(zhuǎn)換函數(shù)Convert了,其調(diào)用非常簡單,先來演示一下單個(gè)值的轉(zhuǎn)換

int intOut = Convert.ToByte("AB", 16);

16表示16進(jìn)制,Convert系列函數(shù),支持2, 8, 10以及16這幾種進(jìn)制。

Convert中還支持從其他類型轉(zhuǎn)為字符串,仍以十六進(jìn)制轉(zhuǎn)換為例,下面的代碼輸出結(jié)果為19。

string str = Convert.ToString(25, 16);
Console.WriteLine(str);  

但上面這些單個(gè)數(shù)值與字符串之間的相互轉(zhuǎn)換,其實(shí)并不能看出Convert這個(gè)靜態(tài)類的強(qiáng)大,Convert提供的最方便的功能,其實(shí)是字節(jié)數(shù)組與字符串之間的相互轉(zhuǎn)換,例如

var bs = Convert.FromHexString("6400");
foreach (var item in bs)
    Console.WriteLine(item);

其返回結(jié)果為

1000

其中0x64即10進(jìn)制中的100,0x00就是0。

實(shí)戰(zhàn)

在日常使用中,十六進(jìn)制字節(jié)數(shù)組往往被寫為0xAA, 0xBB這種形式,通過String.Format函數(shù),可以將字節(jié)數(shù)組輸出為這種格式的字符串

string str = "";

byte[] bs = new byte[] { 1, 15, 100, 127 };
foreach (var b in bs)
    str += $"0x{b:X},";     // $字符串和Format函數(shù)語法十分相似
Console.WriteLine(str);

輸出結(jié)果為

0x01,0x0F,0x64,0x7F,

若想將其恢復(fù)為字節(jié)數(shù)組,則有兩種方案,一種是將其分割為字符串?dāng)?shù)組后,逐個(gè)調(diào)用byte.Parse,但更好的方法是直接把0x還有,去掉,然后調(diào)用FromHexString

str = str.Replace("0x", "").Replace(",", "");
bs = Convert.FromHexString(str) ;
foreach (var b in bs)
    Console.WriteLine(b);

效果如下

1
15
100
127

總結(jié)

到此這篇關(guān)于C#字符串與數(shù)值類型、字節(jié)數(shù)組的互相轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)C#字符串與數(shù)值、字節(jié)數(shù)組互相轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#中String和StringBuilder的簡介與區(qū)別

    C#中String和StringBuilder的簡介與區(qū)別

    今天小編就為大家分享一篇關(guān)于C#中String和StringBuilder的簡介與區(qū)別,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#播放鈴聲最簡單實(shí)現(xiàn)方法

    C#播放鈴聲最簡單實(shí)現(xiàn)方法

    這篇文章主要介紹了C#播放鈴聲最簡單實(shí)現(xiàn)方法,通過調(diào)用系統(tǒng)方法實(shí)現(xiàn)播放wav格式音頻文件的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-12-12
  • WPF使用Geometry繪制幾何圖形

    WPF使用Geometry繪制幾何圖形

    這篇文章介紹了WPF使用Geometry繪制幾何圖形的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#使用HttpClient對(duì)大文件進(jìn)行斷點(diǎn)上傳和下載

    C#使用HttpClient對(duì)大文件進(jìn)行斷點(diǎn)上傳和下載

    這篇文章主要介紹了C#如何使用HttpClient對(duì)大文件進(jìn)行斷點(diǎn)上傳和下載,文章通過代碼示例講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-06-06
  • 詳解如何將.NET應(yīng)用轉(zhuǎn)換成Window服務(wù)

    詳解如何將.NET應(yīng)用轉(zhuǎn)換成Window服務(wù)

    這篇文章主要為大家詳細(xì)介紹了如何將.NET8.0應(yīng)用程序轉(zhuǎn)換成Windows服務(wù),文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C#實(shí)現(xiàn)截取驗(yàn)證碼圖片

    C#實(shí)現(xiàn)截取驗(yàn)證碼圖片

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)截取驗(yàn)證碼圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • PowerShell 定時(shí)執(zhí)行.Net(C#)程序的方法

    PowerShell 定時(shí)執(zhí)行.Net(C#)程序的方法

    利用PowerShell可以調(diào)用動(dòng)態(tài)頁面,然后再用 .bat 執(zhí)行 PowerShell 腳本,最后把 .bat 添加到服務(wù)器的任務(wù)計(jì)劃里面。OK,所有操作都做好了,.Net 定時(shí)執(zhí)行了,是不是呢,有木有呢。
    2013-04-04
  • C#?中的"智能枚舉"之如何在枚舉中增加行為(示例代碼)

    C#?中的"智能枚舉"之如何在枚舉中增加行為(示例代碼)

    這篇文章主要介紹了C#?中的“智能枚舉”之如何在枚舉中增加行為(示例代碼),智能枚舉跟設(shè)計(jì)模式的意義一樣,可以幫助您避免重復(fù)的代碼,并提高代碼的可讀性和可維護(hù)性,需要的朋友可以參考下
    2023-05-05
  • 詳細(xì)介紹C# 泛型

    詳細(xì)介紹C# 泛型

    這篇文章主要介紹了C# 泛型的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)C#,感興趣的朋友可以了解下
    2020-08-08
  • C#利用iTextSharp組件給PDF文檔添加圖片/文字水印

    C#利用iTextSharp組件給PDF文檔添加圖片/文字水印

    這篇文章主要給大家介紹了關(guān)于如何C#利用iTextSharp組件給PDF文檔添加圖片/文字水印的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論

都昌县| 双城市| 那曲县| 新竹市| 梅州市| 新平| 池州市| 大同县| 厦门市| 自贡市| 西宁市| 志丹县| 蒲城县| 岚皋县| 徐水县| 九台市| 屯留县| 大同市| 饶平县| 孝昌县| 丰城市| 鄂托克旗| 德安县| 康乐县| 蒲城县| 江源县| 金秀| 仁布县| 云梦县| 海口市| 胶州市| 汾阳市| 青海省| 静海县| 邵武市| 和田县| 寿光市| 封丘县| 灵寿县| 江源县| 武邑县|