比较字符串

yangxinjia 2007-02-01 11:39:31
有俩组字符串做比较,算出比较的那个字符串与被比较的字符串有几个相同的字符
如 A:1 2 3 4 5 6
B:2 3 5 8 9 10 相同的字符哟 2 3 5 三个
...全文
187 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
测试1225 2007-09-18
  • 打赏
  • 举报
回复
哈哈
vengair 2007-02-02
  • 打赏
  • 举报
回复
不好意思 Contains 是 2.0 的方法
忘记了
替换一下
用 if (strA.IndexOf(strB.Substring(i, 1)) != -1)
yangxinjia 2007-02-02
  • 打赏
  • 举报
回复
我用的是.net1.1
我用的第一段代码 报错
“string”并不包含对“Contains”的定义
vengair 2007-02-02
  • 打赏
  • 举报
回复
第一段代码 using System 即可

第二段代码 需要用 .NET 2.0 并 using System.Collections.Generic;
yangxinjia 2007-02-02
  • 打赏
  • 举报
回复
Contains
需要倒入包吗?我机子上没MSDN不好查,我的是2003的
yangxinjia 2007-02-01
  • 打赏
  • 举报
回复
谢谢了
vengair 2007-02-01
  • 打赏
  • 举报
回复
那用第一个就行了
第二个是加了判断
yangxinjia 2007-02-01
  • 打赏
  • 举报
回复
字符串的字符是唯一的
vengair 2007-02-01
  • 打赏
  • 举报
回复
以上是不考虑字符串内有相同字符的情况,也就是说如果相同会叠加。
如果要过滤相同的,用下面的代码:
public int CompareString(string strA, string strB)
{
int ret = 0;
List<string> myList = new List<string>();

foreach (int i = 0; i < strB.Length; i++)
{
string s = strB.Substring(i, 1);
if (!myList.Contains(s))
{
if (strA.Contains(strB.Substring(i, 1)))
{
ret++;
}

myList.Add(s);
}
}

return ret;
}
vengair 2007-02-01
  • 打赏
  • 举报
回复
public int CompareString(string strA, string strB)
{
int ret = 0;
foreach (int i = 0; i < strB.Length; i++)
{
if (strA.Contains(strB.Substring(i, 1)))
{
ret++;
}
}

return ret;
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧