C#字符串去重的方法

kingmeta 2011-06-07 11:25:13
如字符串"abbccdefgggghi庆祝国庆",去重后结果应为"abcdefghi庆祝国"
...全文
602 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zllllz6 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

引用 1 楼 icedmilk 的回复:

C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);


很有用
[/Quote]
3.5框架支持``
BurgessLi 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]

C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);
[/Quote]

很有用
threenewbee 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hao08 的回复:]
引用 1 楼 icedmilk 的回复:
C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);


怎么我运行提示:
错误:“string”并不包含“ToList”的定义
什……
[/Quote]
VS2008+才支持LINQ扩展方法。

lz问题不明确
abab这个算重复么?
hao08 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]
C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);
[/Quote]

怎么我运行提示:
错误:“string”并不包含“ToList”的定义
什么问题?
kingdom_0 2011-06-08
  • 打赏
  • 举报
回复

public static class StringExtension
{
public static void stringDistinct(this string s)
{
s.ToCharArray().Distinct().ToList().ForEach(p => Console.Write(p+" "));
}
}
class Program
{

static void Main(string[] args)
{
string str = "abbccdefgggghi";
str.stringDistinct();
Console.ReadKey();
}
}
kingmeta 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]
C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);
[/Quote]
这个方法.net3.5支持吗?
renjunfeng 2011-06-08
  • 打赏
  • 举报
回复
net 2.0可以用的,哈哈

List<char> list = new List<char>("dfasasddd".ToCharArray());
list.ForEach(
delegate(char c1)
{
while (list.FindAll(
delegate(char c2)
{
return c2 == c1;
}).Count > 1)

list.Remove(c1);
});
Ray720_KIllua 2011-06-08
  • 打赏
  • 举报
回复
学习学习
Joop_Song 2011-06-08
  • 打赏
  • 举报
回复
我还是太年轻了。。。
种草德鲁伊 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 icedmilk 的回复:]

不用ToList不一样要用ToCharArray
没啥本质区别,还是泛型的强类型看起来比较舒服
引用 5 楼 sp1234 的回复:
恩,可以把 ToList() 去掉,少计算一个中间环节。
[/Quote]

不需要的,String已经实现了IEnumerable接口
Icedmilk 2011-06-08
  • 打赏
  • 举报
回复
不用ToList不一样要用ToCharArray
没啥本质区别,还是泛型的强类型看起来比较舒服
[Quote=引用 5 楼 sp1234 的回复:]
恩,可以把 ToList() 去掉,少计算一个中间环节。
[/Quote]
love_D 2011-06-08
  • 打赏
  • 举报
回复
string str = @"abbccdefgggghi庆祝国庆";
str=new string(str.ToCharArray().Distinct().ToArray());
Console.WriteLine(str);//abcdefghi庆祝国

THG8888 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 q107770540 的回复:]
C# code

void Main()
{
string str = @"abbccdefgggghi庆祝国庆";
str=new string(str.ToCharArray().Distinct().ToArray());
Console.WriteLine(str);//abcdefghi庆祝国

}
[/Quote] 学习了
  • 打赏
  • 举报
回复
恩,可以把 ToList() 去掉,少计算一个中间环节。
q107770540 2011-06-07
  • 打赏
  • 举报
回复

void Main()
{
string str = @"abbccdefgggghi庆祝国庆";
str=new string(str.ToCharArray().Distinct().ToArray());
Console.WriteLine(str);//abcdefghi庆祝国

}
dancky57359 2011-06-07
  • 打赏
  • 举报
回复
哇.2L的方法还真第一次见.太好了..
qgqch2008 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icedmilk 的回复:]

C# code
string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);
[/Quote]学习了!
Icedmilk 2011-06-07
  • 打赏
  • 举报
回复
            string str = @"abbccdefgggghi庆祝国庆";
char[] chars = str.ToList<char>().Distinct().ToArray<char>();
str = new string(chars);

110,536

社区成员

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

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

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