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

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

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

BitArray的基礎可以看菜鳥編程

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

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

BitArray 類的方法和屬性

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

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

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

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

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

BitArray轉(zhuǎn)成Int方法

/// <summary>
/// 點矩陣轉(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>
/// 點矩陣轉(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ù)組,但這個結(jié)果無意義
 
    BitArrayToInt(bi).Dump("點矩陣轉(zhuǎn)成int:");//點矩陣轉(zhuǎn)成int
    BitArrayToStr(bi).Dump("點矩陣轉(zhuǎn)成字符串:");//點矩陣轉(zhuǎn)成字符串
 
    //測試將字符串轉(zhuǎn)成點矩陣再轉(zhuǎn)回字符串
    var str = "濤神";
    //點矩陣只支持bool[]、byte[]、int[],所以字符串需要先轉(zhuǎn)成byte[]
    byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);
    var ba = new BitArray(byteArray);//創(chuàng)建一個點矩陣
    BitArrayToStr(ba).Dump("將點矩陣轉(zhuǎn)成字符串:");//將點矩陣轉(zhuǎn)成字符串
}

結(jié)果:

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

相關文章

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

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

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

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

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

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

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

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

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

    C#生成注冊碼的實例代碼

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

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

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

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

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

    深入理解C#表達式樹的使用

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

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

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

    將DLL放入到資源中,運行時自動加載的小例子

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

最新評論