定义如下的两个字符串:
string str1 = "0011010001";
string str2 = "1001100100";
想将这两个字符串的对应位进行二进制的位操作,查了文档说只有整型或可以转换为整型的可以进行位运算,那么以上两个字符串是否可以转换为无符号的整型数再进行位运算?如果字符串的长度很长(比如长度为5000或者更长),但每一位都是0或1,有没有可以直接对这两个字符串进行位运算的方法?请侠们帮忙啊:)

解决方案 »

  1.   

    string to int
    Convert.ToInt32();
      

  2.   

    多谢soaringbird() 提供了一种思路!C#中String是引用类型的,是不就是说str1代表了字符串"0011010001"的内存地址呢?如果是,那是不就可以声明个BitArray类型的变量,然后将str1赋给它,用位数组类型的来进行操作呢?
      

  3.   

    那不行,‘0’和一个bit的0是不一样的。
      

  4.   

    自己去做截串处理不就行了,例如:
    string strData = yourString.SubString( 2 );// Move left 2 chars
    string strData = yourString.SubString( 0, yourString.Length - 2 );// Move right 2 chars至于不起什么字符串,用字符串+来操作。