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

C# 字符串按 ASCII碼 排序的方法

 更新時(shí)間:2017年04月22日 09:13:31   投稿:mrr  
這篇文章主要介紹了C# 字符串按 ASCII碼 排序的方法,需要的朋友可以參考下

在和銀行做數(shù)據(jù)對(duì)接時(shí),涉及到數(shù)據(jù)傳輸時(shí)的驗(yàn)簽及加密。其中數(shù)據(jù)簽名方案中就要求數(shù)據(jù)項(xiàng)根據(jù)屬性名按 ASCII碼 進(jìn)行升序排序。C#中的ASCII碼排序并不是表面上那么簡(jiǎn)單,一不小心就入坑了。因?yàn)镃#的排序默認(rèn)并不是按照ASCII碼進(jìn)行排序的。舉個(gè)例子, 我有這樣一個(gè)字符串?dāng)?shù)組,然后對(duì)其排序。

string[] vv = { "1", "2", "A", "a", "B", "b" };
Array.Sort(vv); //結(jié)果 1 2 a A b B

如果是按照ASCII碼進(jìn)行排序的話,順序應(yīng)該是: 1, 2, A, B, a, b  而實(shí)際排序后的結(jié)果則是:1, 2, a, A, b, B . 這也就是說Sort()方法默認(rèn)情況下并不是按ASCII碼進(jìn)行排序的。之后我也同樣測(cè)試了C#中的OrderBy()的排序,發(fā)現(xiàn)它默認(rèn)情況下也并不是按照ASCII碼進(jìn)行的排序。

string[] vv = { "1", "2", "A", "a", "B", "b" };
vv.OrderBy(x => x); //結(jié)果 1 2 a A b B

那么既然默認(rèn)排序不是按ASCII碼進(jìn)行的排序,我們要怎么做呢? 看下面代碼,只需要在原來排序方法上再加個(gè)參數(shù): string.CompareOrdinal。string.CompareOrdinal會(huì)把每個(gè)字符先轉(zhuǎn)成相應(yīng)的數(shù)值(如 a 轉(zhuǎn)為數(shù)值 97),然后再對(duì)數(shù)值進(jìn)行比較。

Array.Sort(vv, string.CompareOrdinal); //ASCII排序

注:掉入這個(gè)坑是因?yàn)槠鸪醪恢廊绾螌?duì)字符做ASCII碼排序,于是百度了一把。得到的結(jié)果就是這個(gè)C# 參數(shù)按照ASCII碼從小到大排序(字典序)  而當(dāng)我采用這種方式時(shí),銀行驗(yàn)簽?zāi)遣绞冀K通不過,調(diào)試發(fā)現(xiàn)我排序后的結(jié)果和銀行那邊的不同。

以上所述是小編給大家介紹的C# 字符串按 ASCII碼 排序的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • C# WPF上位機(jī)實(shí)現(xiàn)和下位機(jī)TCP通訊的方法

    C# WPF上位機(jī)實(shí)現(xiàn)和下位機(jī)TCP通訊的方法

    這篇文章主要介紹了C# WPF上位機(jī)實(shí)現(xiàn)和下位機(jī)TCP通訊的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • C#根據(jù)Word模版生成Word文件

    C#根據(jù)Word模版生成Word文件

    這篇文章主要為大家詳細(xì)介紹了C#根據(jù)Word模版生成Word文件的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • c# 幾個(gè)常見的TAP異步操作

    c# 幾個(gè)常見的TAP異步操作

    這篇文章主要介紹了c# 幾個(gè)常見的TAP異步操作,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C# 串行通信serialPort的使用

    C# 串行通信serialPort的使用

    本文主要介紹了C# 串行通信serialPort的使用,它提供了一組屬性和方法,用于配置串行端口、讀取和寫入數(shù)據(jù),以及處理串行通信中的事件,感興趣的可以了解一下
    2024-03-03
  • C#開發(fā)中經(jīng)常用的加密解密方法示例

    C#開發(fā)中經(jīng)常用的加密解密方法示例

    這篇文章主要給大家介紹了關(guān)于C#開發(fā)中經(jīng)常用的加密解密方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • C#適用于like語句的SQL格式化函數(shù)

    C#適用于like語句的SQL格式化函數(shù)

    這篇文章主要介紹了C#適用于like語句的SQL格式化函數(shù),可實(shí)現(xiàn)對(duì)字符串進(jìn)行sql格式化,并且符合like查詢的格式,非常實(shí)用,需要的朋友可以參考下
    2014-10-10
  • Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例

    Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例

    這篇文章主要介紹了Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例,如果只想調(diào)用瀏覽器打開網(wǎng)頁(yè)的話可以看文章最后的方法,需要的朋友可以參考下
    2016-04-04
  • unity實(shí)現(xiàn)UI元素跟隨3D物體

    unity實(shí)現(xiàn)UI元素跟隨3D物體

    這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)UI元素跟隨3D物體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 為什么哈希存取比較快?使用它需要付出什么代價(jià)

    為什么哈希存取比較快?使用它需要付出什么代價(jià)

    本文主要介紹為什么哈希存取比較快的原理,有需要的朋友可以參考一下。
    2016-06-06
  • C#仿QQ實(shí)現(xiàn)簡(jiǎn)單的截圖功能

    C#仿QQ實(shí)現(xiàn)簡(jiǎn)單的截圖功能

    這篇文章主要為大家詳細(xì)介紹了如何利用C#語言模擬QQ實(shí)現(xiàn)屏幕選擇區(qū)域截圖功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-08-08

最新評(píng)論

巴林右旗| 宾川县| 龙游县| 双桥区| 汉阴县| 汨罗市| 正蓝旗| 永德县| 阿拉善左旗| 南阳市| 商洛市| 长丰县| 麻江县| 永清县| 石首市| 曲松县| 浑源县| 新建县| 九龙县| 青海省| 濮阳市| 夹江县| 德令哈市| 沾益县| 嘉义市| 石渠县| 定结县| 呼图壁县| 博湖县| 南投县| 胶南市| 商丘市| 岳阳县| 休宁县| 吴江市| 永和县| 宣化县| 临潭县| 武清区| 江孜县| 东阿县|