怎么过滤重复的数字
比如:输入“12352842153245”
处理后变为
“123584”
--------------------编程问答--------------------
--------------------编程问答-------------------- 楼上正解,,,,但是楼主需要引入 一个linq 的命名空间!!!!!www.aaspx.com 发布 --------------------编程问答-------------------- 比如定义一个lable1 lable2 textbox1 button1
string str = "12352842153245";
str = new string(str.ToCharArray().Distinct().ToArray());
在textbo1中输入 “12352842153245”
然后在lable2中实现“123584”
新手求代码 --------------------编程问答-------------------- 一楼不是写了 --------------------编程问答-------------------- 把楼上的代码写到button1按钮的单击事件中,在单击事件中 ,把最后的值给lable2.text就可以了 --------------------编程问答-------------------- 2楼给你答案了,事件总会写吧。。。。 --------------------编程问答-------------------- lable2.Text = new string(textbox1.Text.Distinct().ToArray()); --------------------编程问答--------------------
除了一楼的,自己写代码如下:
public static string Distinct(string str)
{
if (str==null )
{
return null;
}
str = new string(str.Reverse().ToArray());
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char c = str[i];
string newStr = str.Substring(i + 1);
if (newStr.Contains(c))
{
continue;
}
sb.Append(c);
}
return new string(sb.ToString().Reverse().ToArray());
}
强烈建议 一楼的,我纯粹打发时间 才写的。 --------------------编程问答-------------------- 以前学C#用的资料,没有 linq,得补一补... --------------------编程问答--------------------
强!收藏了 --------------------编程问答-------------------- mark
--------------------编程问答--------------------
if (textBox1.Text.Trim().Equals(""))不用linq一样可以解决 --------------------编程问答--------------------
{
return;
}
char[] arr = this.textBox1.Text.ToCharArray();
List<char> lst = new List<char>(arr.Length);
Array.Sort(arr);
for (int i = 0; i < arr.Length; i++)
{
lst.Add(arr[i]);
}
for (int i = lst.Count - 1; i >= 0; i--)
{
if (i != 0)
{
if (lst[i] == lst[i - 1])
{
lst.RemoveAt(i);
}
}
}
string str = "";
str = new string(lst.ToArray());
this.label1.Text = str;
}
Array.Sort(arr); 大哥你这样的注意顺序的了嘛????
188635777,会变成什么样的呢? 你还两次循环,一次足够的了,
public static string Distinct(string str)
{
if (str == null)
{
return null;
}
List<char> list = new List<char>();
for (int i = 0; i < str.Length; i++)
{
if (list.Contains(str[i]))
{
continue;
}
list.Add(str[i]);
}
return new string(list.ToArray());
}
--------------------编程问答--------------------
会变成这样,有什么错么,至于算法昨天太忙没时间多想,随便写了一个,能实现就行了 --------------------编程问答--------------------
要是较真的话上面用linq的一次循环都不用,你还写什么 --------------------编程问答--------------------
有什么错你还看不来,说了呢还不乐意接受,真是.... --------------------编程问答--------------------
什么错啊,说说,我错了自然会承认 --------------------编程问答-------------------- 请你把题目再阅读一遍。 --------------------编程问答--------------------
请你把题目再阅读一遍。 --------------------编程问答-------------------- 是没太注意要不要顺序,楼主也没说非得不排序吧 --------------------编程问答-------------------- 算了,不跟你争了,是我看题不仔细,干活去了 --------------------编程问答--------------------
+++++
楼上正解 --------------------编程问答--------------------
补充:.NET技术 , C#