欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

TryParse

正常來說,想把類似1024或者3.14之類的字符串轉為對應數(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);

而且轉換16進制也毫無壓力,只需

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

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

parse并不安全,若輸入參數(shù)不符合要求,則會報錯,導致程序崩潰,比如把abc轉成整數(shù),這個顯然是不可能的。所以C#提供了一種不報錯的轉換方案,即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

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

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

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

Convert中還支持從其他類型轉為字符串,仍以十六進制轉換為例,下面的代碼輸出結果為19。

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

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

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

其返回結果為

1000

其中0x64即10進制中的100,0x00就是0。

實戰(zhà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);

輸出結果為

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

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

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

效果如下

1
15
100
127

總結

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

相關文章

  • C#利用正則表達式實現(xiàn)獲取字符串中漢字的數(shù)量

    C#利用正則表達式實現(xiàn)獲取字符串中漢字的數(shù)量

    這篇文章主要為大家詳細介紹了C#如何利用正則表達式實現(xiàn)獲取字符串中漢字的數(shù)量,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • c#3.0實現(xiàn)延遲賦值示例

    c#3.0實現(xiàn)延遲賦值示例

    這篇文章主要介紹了c#3.0實現(xiàn)延遲賦值示例,大家參考使用吧
    2014-01-01
  • C#操作JSON(序列化與反序列化)的方法詳解

    C#操作JSON(序列化與反序列化)的方法詳解

    .net?core提供了Json處理模塊,在命名空間System.Text.Json中,本文將通過頂級語句,對C#的Json功能進行講解,感興趣的小伙伴可以了解一下
    2023-05-05
  • C#使用itextsharp打印pdf的實現(xiàn)代碼

    C#使用itextsharp打印pdf的實現(xiàn)代碼

    提到打印,恐怕對于很多人都不會陌生,無論是開發(fā)者,還是非計算機專業(yè)的人員都會接觸到打印,?在.NET中實現(xiàn)PDF打印的組件比較多,例如PDFsharp、Report.NET、sharpPDF、itextSharp等等,今天主要簡單的介紹itextSharp組件,需要的朋友可以參考下
    2024-04-04
  • C#實現(xiàn)OFD格式與PDF格式的互轉

    C#實現(xiàn)OFD格式與PDF格式的互轉

    OFD格式的文檔是一種我國獨有的國家標準版式的文檔。本文將通過C#程序介紹如何實現(xiàn)由OFD與PDF的互相轉換,感興趣的小伙伴可以了解一下
    2022-02-02
  • C#微信公眾平臺開發(fā)之access_token的獲取存儲與更新

    C#微信公眾平臺開發(fā)之access_token的獲取存儲與更新

    這篇文章主要介紹了C#微信公眾平臺開發(fā)之access_token的獲取存儲與更新的相關資料,需要的朋友可以參考下
    2016-03-03
  • c#中LINQ的基本用法(二)

    c#中LINQ的基本用法(二)

    這篇文章介紹了c#中LINQ的基本用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下的相關資料
    2022-04-04
  • C#驗證給定字符串形式日期是否合法的方法

    C#驗證給定字符串形式日期是否合法的方法

    這篇文章主要介紹了C#驗證給定字符串形式日期是否合法的方法,實例分析了C#針對字符串及日期的操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • C# newtonsoft.json中文亂碼問號的解決方案

    C# newtonsoft.json中文亂碼問號的解決方案

    這篇文章主要介紹了C# newtonsoft.json中文亂碼問號的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C#單例模式(Singleton Pattern)實例教程

    C#單例模式(Singleton Pattern)實例教程

    這篇文章主要介紹了C#單例模式(Singleton Pattern)的實現(xiàn)方法,主要講述了即時加載的單例模式、延遲加載的單例模式與線程安全的單例模式,需要的朋友可以參考下
    2014-09-09

最新評論