日期:2014-05-18  浏览次数:21042 次

[急]ASCII码值进行异或
我现在有一串字符,例如“abc89kdj00343k,4390jn4?”,现在要求对这组字符串进行异或,异或的条件是第一个字符与第二个字符进行异或,异或的结果与后面的一位再进行异或,以此类推,得到最后的异或结果,谢谢各位朋友。。。

------解决方案--------------------
想到个思路,楼主看可行不可行:
用一个临时变量存储异或值
给这个临时变量设一个初始值,如果这个值不等于初始值,就用这个值跟后面的字符异或,并将值赋给这个变量。

------解决方案--------------------
把string 转换成charArray
然后对每个字按你的要求进行异或就可以了
------解决方案--------------------
C# code
            string s="abc89kdj00343k,4390jn4?";
            int i=0;
            foreach (char c in s)
            {
                i ^= c;
            }
            MessageBox.Show(i.ToString());

------解决方案--------------------
C# code

"abc89kdj00343k,4390jn4?".ToCharArray().Aggregate<char>((relust, n) => relust ^= n);