亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#?BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn)

 更新時(shí)間:2022年05月10日 11:39:44   作者:濤神-DevExpress資深開發(fā)者  
BitArray?類管理一個(gè)緊湊型的位值數(shù)組,它使用布爾值來表示,本文主要介紹了C#?BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

BitArray的基礎(chǔ)可以看菜鳥編程

BitArray 類管理一個(gè)緊湊型的位值數(shù)組,它使用布爾值來表示,其中 true 表示位是開啟的(1),false 表示位是關(guān)閉的(0)。

當(dāng)您需要存儲位,但是事先不知道位數(shù)時(shí),則使用點(diǎn)陣列。您可以使用整型索引從點(diǎn)陣列集合中訪問各項(xiàng),索引從零開始。

BitArray 類的方法和屬性

下表列出了 BitArray 類的一些常用的 屬性:

屬性描述
Count獲取 BitArray 中包含的元素個(gè)數(shù)。
IsReadOnly獲取一個(gè)值,表示 BitArray 是否只讀。
Item獲取或設(shè)置 BitArray 中指定位置的位的值。
Length獲取或設(shè)置 BitArray 中的元素個(gè)數(shù)。

下表列出了 BitArray 類的一些常用的 方法:

序號方法名 & 描述
1public BitArray And( BitArray value );
對當(dāng)前的 BitArray 中的元素和指定的 BitArray 中的相對應(yīng)的元素執(zhí)行按位與操作。
2public bool Get( int index );
獲取 BitArray 中指定位置的位的值。
3public BitArray Not();
把當(dāng)前的 BitArray 中的位值反轉(zhuǎn),以便設(shè)置為 true 的元素變?yōu)?false,設(shè)置為 false 的元素變?yōu)?true。
4public BitArray Or( BitArray value );
對當(dāng)前的 BitArray 中的元素和指定的 BitArray 中的相對應(yīng)的元素執(zhí)行按位或操作。
5public void Set( int index, bool value );
把 BitArray 中指定位置的位設(shè)置為指定的值。
6public void SetAll( bool value );
把 BitArray 中的所有位設(shè)置為指定的值。
7public BitArray Xor( BitArray value );
對當(dāng)前的 BitArray 中的元素和指定的 BitArray 中的相對應(yīng)的元素執(zhí)行按位異或操作。

了解了BitArray的大概,我們來做BitArray和Int和string的轉(zhuǎn)換,

BitArray轉(zhuǎn)成Int方法

/// <summary>
/// 點(diǎn)矩陣轉(zhuǎn)成int
/// </summary>
public static int BitArrayToInt(BitArray bit)
{
    int[] res = new int[1];
    for (int i = 0; i < bit.Count; i++)
    {
        bit.CopyTo(res, 0);
    }
    return res[0];
}

BitArray轉(zhuǎn)成string方法(如果有亂碼,請自行修改編碼)

/// <summary>
/// 點(diǎn)矩陣轉(zhuǎn)換成string
/// </summary>
public static string BitArrayToStr(BitArray ba)
{
    byte[] strArr = new byte[ba.Length / 8];
    for (int i = 0; i < ba.Length / 8; i++)
    {
        for (int index = i * 8, m = 1; index < i * 8 + 8; index++, m *= 2)
        {
            strArr[i] += ba.Get(index) ? (byte)m : (byte)0;
        }
    }
    return Encoding.Default.GetString(strArr);
}

在LinqPad上調(diào)用測試(Dump是LinqPad的輸出的方法):

void Main()
{
    var bi = new BitArray(new bool[] { true, false, false, false, false, true, false, false });
    bool[] bs = bi.Cast<bool>().ToArray();//直接轉(zhuǎn)成bool數(shù)組,但這個(gè)結(jié)果無意義
 
    BitArrayToInt(bi).Dump("點(diǎn)矩陣轉(zhuǎn)成int:");//點(diǎn)矩陣轉(zhuǎn)成int
    BitArrayToStr(bi).Dump("點(diǎn)矩陣轉(zhuǎn)成字符串:");//點(diǎn)矩陣轉(zhuǎn)成字符串
 
    //測試將字符串轉(zhuǎn)成點(diǎn)矩陣再轉(zhuǎn)回字符串
    var str = "濤神";
    //點(diǎn)矩陣只支持bool[]、byte[]、int[],所以字符串需要先轉(zhuǎn)成byte[]
    byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);
    var ba = new BitArray(byteArray);//創(chuàng)建一個(gè)點(diǎn)矩陣
    BitArrayToStr(ba).Dump("將點(diǎn)矩陣轉(zhuǎn)成字符串:");//將點(diǎn)矩陣轉(zhuǎn)成字符串
}

結(jié)果:

 到此這篇關(guān)于C# BitArray(點(diǎn)矩陣)轉(zhuǎn)換成int和string的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# BitArray轉(zhuǎn)換成int和string內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c#異步task示例分享(異步操作)

    c#異步task示例分享(異步操作)

    這篇文章主要介紹了c#異步task示例(異步操作),需要的朋友可以參考下
    2014-03-03
  • C#實(shí)現(xiàn)簡單的二叉查找樹

    C#實(shí)現(xiàn)簡單的二叉查找樹

    這篇文章介紹了C#實(shí)現(xiàn)二叉查找樹的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Unity ScrollView實(shí)現(xiàn)自動吸附效果

    Unity ScrollView實(shí)現(xiàn)自動吸附效果

    這篇文章主要為大家詳細(xì)介紹了Unity ScrollView實(shí)現(xiàn)自動吸附效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解C#如何實(shí)現(xiàn)樹形圖列表

    詳解C#如何實(shí)現(xiàn)樹形圖列表

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)樹形圖列表,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以了解一下
    2022-12-12
  • C#生成注冊碼的實(shí)例代碼

    C#生成注冊碼的實(shí)例代碼

    C#生成注冊碼的實(shí)例代碼,下面是一個(gè)小例子,需要的朋友可以參考一下
    2013-03-03
  • C#動態(tài)編譯并執(zhí)行字符串樣例

    C#動態(tài)編譯并執(zhí)行字符串樣例

    這篇文章主要為大家詳細(xì)介紹了C#動態(tài)編譯并執(zhí)行字符串樣例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#中多態(tài)現(xiàn)象和多態(tài)的實(shí)現(xiàn)方法

    C#中多態(tài)現(xiàn)象和多態(tài)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#中多態(tài)現(xiàn)象和多態(tài)的實(shí)現(xiàn)方法,較為詳細(xì)的分析了多態(tài)的原理與C#實(shí)現(xiàn)多態(tài)的方法,以及相關(guān)的注意事項(xiàng),需要的朋友可以參考下
    2015-05-05
  • 深入理解C#表達(dá)式樹的使用

    深入理解C#表達(dá)式樹的使用

    表達(dá)式樹是C#編程語言中一個(gè)強(qiáng)大的特性,本文將深入探討表達(dá)式樹的基本概念、創(chuàng)建方法、節(jié)點(diǎn)類型、遍歷技巧以及在C#中的應(yīng)用示例,感興趣的可以了解一下
    2024-03-03
  • C#貪吃蛇游戲?qū)崿F(xiàn)分析

    C#貪吃蛇游戲?qū)崿F(xiàn)分析

    這篇文章主要為大家分析了C#貪吃蛇游戲的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 將DLL放入到資源中,運(yùn)行時(shí)自動加載的小例子

    將DLL放入到資源中,運(yùn)行時(shí)自動加載的小例子

    這篇文章介紹了將DLL放入到資源中,運(yùn)行時(shí)自動加載的小例子,有需要的朋友可以參考一下
    2013-10-10

最新評論