异或运算返回的类型是bool型
且比较的两者应该为整型或者bool型

解决方案 »

  1.   

    你用string result = str ^ "china";想得到什么样的结果?
      

  2.   

    string str1 = "中国";
    string str2 = "china";
    char[] char1 = str1.ToCharArray();
    char[] char2 = str2.ToCharArray();
    int i = 0;
    char[] arrResult = new char[char1.Length];
    foreach(char c in char1)
    {
    arrResult[i] = Convert.ToChar((short)char1[i]^(short)char2[i]);
    i ++;
    }大概就这样吧,返回个char[],自己去试试
      

  3.   

    if "china"
    a=true
    else
    a=falseif "中国"
    b=true
    else
    b=falseResult=a^b
      

  4.   

    char[] key1="中国".ToCharArray();
    char[] key2="china".ToCharArray();int MAX=key1.Length>key2.Length?key1.Length:key2.Length;int offset1=0,offset2=0;string ret;for(int i=0;i<MAX;i++)
    {
      char c;
      c=(char)(key1[offset1]^key2[offset2]);
      offset1++;
      offset2++;
      if(offset1>key1.Length-1) offset1=0;
      if(offset2>key2.Length-1) offset2=0;
      ret+=c;
    }
      

  5.   

    cutman(接分来了) 你把char2的最后一个字母丢了。
      

  6.   

    to : cutman(接分来了) 
    你的不对,我试过了。。如果:
    string a = "1";
    string b = "TESOFTTE9000";那a和b异或的结果应该是:65
      

  7.   

    先判断一下a和b的长度就可以了,如果b.Length>a.Length就反过来咯~~
      

  8.   

    好玩,嘿嘿,我也写一个:
    private void button6_Click(object sender, System.EventArgs e)
    {
    char[] t = "中国".ToCharArray();
    char[] tt = "china".ToCharArray(); for (int i = 0; i<t.Length; i++)
    {
    t[i] = (char)(t[i] ^ tt[i]);
    }
    }
      

  9.   

    string str= "中国";
    string str1= "china";
    bool myBool = (str=="中国")^(str1=="china");
    Response.Write(myBool.ToString());
      

  10.   

    cutman(接分来了) 先判断一下a和b的长度就可以了,如果b.Length>a.Length就反过来咯~~反过来?不会下标越界吗?
      

  11.   

    不对呀,你们的都不对呀,
    如果:
    string a = "1";
    string b = "TESOFTTE9000";那a和b异或的结果应该是:65
      

  12.   

    char[] key1="中国".ToCharArray();
    char[] key2="china".ToCharArray();int MAX=key1.Length>key2.Length?key1.Length:key2.Length;int offset1=0,offset2=0;string ret;for(int i=0;i<MAX;i++)
    {
      char c;
      c=(char)(key1[offset1]^key2[offset2]);
      offset1++;
      offset2++;
      if(offset1>key1.Length-1) offset1=0;
      if(offset2>key2.Length-1) offset2=0;
      ret+=c;
    }
    我的正确,接分,我自己写过这个函数,绝对正确而且没有遗漏任何一个字符。
      

  13.   

    C语言的写法是这样的:但我不知道C#怎么写:
    我也是误打误撞的,呵呵#include <string.h>
    #include <stdio.h>
    void main()
    {
      unsigned char key[12] = "TESOFTTE9000";
      unsigned char text[64] = "我爱看雪";
      int i,len;  len = strlen((char *)text);  for(i=0 ; i<len ; i++)
      {
        text[i] ^= key[i % 12];
        printf("%02x",text[i]);
      }
    }
      

  14.   

    to:Clayborne(Clay)
    你的也不对,,看看我的C语言写的方法,,
      

  15.   

    #include <string.h>
    #include <stdio.h>
    void main()
    {
      unsigned char key[12] = "TESOFTTE9000";
      unsigned char text[64] = "1";
      int i,len;  len = strlen((char *)text);  for(i=0 ; i<len ; i++)
      {
        text[i] ^= key[i % 12];
        printf("%02x",text[i]);
      }
    }
    然后printf的输出是: 65现在我想把printf输出保存到一个字符串,,,用C#改写
      

  16.   

    string str1 = "TESOFTTE9000";
    string str2 = "1"; int len = str2.Length;
    char[] key1=str1.ToCharArray();
    char[] key2=str2.ToCharArray(); for(int i=0 ; i<len ; i++)
    {
    key2[i] ^= key1[i%12];
    string myStr = key2[i].ToString();
    Response.Write(myStr);
    }
      

  17.   

    to: gesnpt(gesnpt) 
    你的差不多了,我输出的结果也是e,但不对,应该是65才对,你不能直接输入,
    如果原文是:1的话,
    那在key2[0] 里面存的是十进制的101,把101转成十六进制就行了,
    101 = 16进制的 65,然后我要的就是这个65,,可我不会转
      

  18.   

    我的不是不对,而是跟你结果不同了,我的结果照样可以恢复原有字串,应该是用于加密吧?System.Security.Cryptography;里面很多加密类。
    如果用byte数组可能更好一点
    byte[] byt=Encoding.Unicode.GetBytes(string);
    string s=Encoding.Unicode.GetString(byt);
      

  19.   

    ok,我现在用1得到了65了,
    但是如果是汉字就不行了,为什么呀?
    unicode的一个汉字怎么换成ascii的两个字符呀
      

  20.   

    哈哈~~~~~又搞定了,汉字分解成两个乱码了,搞定,,以前从来都不注意这些byte,char,这些小东东,
    没想到有这么大的用处,,
    谢谢各位光临,,留贴几天,,,下周结贴。
      

  21.   

    你可以把中国分解成Byte[]再把China的ASCII相加,得到一个数用这个数和中国的Byte分别异或就可以了还原的时候再异或一次,就得到中国的Byte,再转成字符串