如何找出字符串数组中的代表元素,就是说相同的元素只要一个,然后返回新的数组?
解决方案 »
- C#数据库绑定--事件问题
- WPF Image控件Source属性如何支持swf
- 对委托和事件的疑问,请赐教!谢谢
- 大家说说现在.NET开发中最常用的技术及贵公司中采用的技术(答者给分)
- button的mouseLeave问题
- Process.Start() 无法打开桌面的文件!???以及打开从数据库读取的文件问题!!!!!!---- 如何解决 马上送分!
- 在DHTML Edit Control控件中显示页面,当点击一个元素时,如何获取当前元素在网页源文件中的位置
- Visual Studio 2005的问题?
- 有办法用程序清除kill程序后留下的右下角图标残余吗?(xp系统)
- 请问这行代码错在哪里?
- 求一个正则表达式,在一个字符串中取一个整数
- 求EWS二次开发验证邮箱账号密码的方法
{
string afterStr = string.Empty;
string str = "aaabbcdddd";
char[] ch = str.ToCharArray();
var diff = ch.Distinct();
foreach (var item in diff)
{
afterStr += item;
}
return afterStr.ToCharArray();
}是去除重复的吗?这样可行吗?
//第一种
string[] str = new string[] { "1", "2", "3", "1", "2" };
str = str.Distinct().ToArray();
//第二种
string[] str1 = null;
List<string> list = new List<string>();
foreach (var s in str)
{
if (!list.Contains(s))
{
list.Add(s);
}
}
str1 = list.ToArray();
要不区分大小写需要定义一个类来继承IEqualityComparer接口 public class StringComparer : IEqualityComparer<string>
{
public bool Equals(string x, string y)
{
if (string.Compare(x, y, true) == 0)
return true;
return false;
} public int GetHashCode(string obj)
{
return obj.ToUpper().GetHashCode();
}
}//用法
str = str.Distinct(new StringComparer()).ToArray();
string[] arry = new string[] { "a", "a","b", "c", "c", "c", "d", "aa", "aa" };
string[] newArray = arry.Distinct().ToArray();
.Net 3.5就有Linq了,是System.Linq 如果没有就有版主的第二种方法.