日期:2014-05-17  浏览次数:20554 次

【字符串比较问题】有分隔符号比较
C# code
string[] arrayRans = Rans.Split('|');// 得到的值是 1|1|1|1|2|1|1|2|1|1
  string[] arraySans = Sans.Split('|');// 得到的值是 1|1|1|1|1|1|1|2|2|1

            int daduinum = 10;//10个题目
           
            for (int i = 0; i < j; i++)
            {
                if (Rans.Substring(i, 1).Equals(Sans.Substring(i, 1)))
                {
                    StuScore += 1;
                    Stujingyan += 1;//加经验值
                }
                else
                {
                    daduinum -= 1;
                }
            }


请教大家。 我这两个字符比较的时候 把中间的 竖线 都用来一起比较了。我只想他们数字做比较 比较次数为10次。该怎么修改?

------解决方案--------------------
string[] arrayRans = Rans.Split('|');// 得到的值是 1|1|1|1|2|1|1|2|1|1
得到的结果还是以竖线分隔,Rans是什么内容,如果是双竖线,那你就以双竖线分隔,不就得到纯数字的字符串数组了吗
------解决方案--------------------
j是啥?
------解决方案--------------------
C# code


string[] arrayRans = Rans.Split('|');// 得到的值是 1|1|1|1|2|1|1|2|1|1
  string[] arraySans = Sans.Split('|');// 得到的值是 1|1|1|1|1|1|1|2|2|1

            int daduinum = 10;//10个题目
          int ooxx=Math.Min(arraySans.Length,arrayRans.Length);
           
            for (int i = 0; i < 10; i++)
            {
                 if(i>ooxx)
                        break;
                if (arrayRans[i]==arraySans[i])
                {
                    StuScore += 1;
                    Stujingyan += 1;//加经验值
                }
                else
                {
                    daduinum -= 1;
                }
            }

------解决方案--------------------
if(i>=ooxx)

break;