首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求教比较两个长度字符串,返回相同位数如何实现

2012-01-12 
求教比较两个长度字符串,返回相同位数怎么实现?如题比如s1467598689343346s2467598000003346比较s1

求教比较两个长度字符串,返回相同位数怎么实现?
如题
比如 
s1="467598689343346"
s2="467598000003346"

比较s1和s2,返回有5位不同,要求效率高一点的算法

[解决办法]
改一下,上面的有点毛病:

C# code
string s1 = "467598689343346";string s2 = "467598000003346";int count = 0;for (int i = 0; i < (s1.Length > s2.Length ? s1.Length : s2.Length); i++){    if (i < s1.Length && i < s2.Length)    {        if (s1[i] != s2[i])        {            count++;        }    }}Console.WriteLine(count);
[解决办法]
这种要求的比较只能用循环,一个一个比较,唯一能做的就是注意循环的长度,应该选择最短的那个串,
就像2楼的那样,
但是要注意,2楼count可能会不对,还应该加上abs(s1.length-s2.length)

热点排行