Code Bye

c#字符串的查重

本人有10W条数据,本人希望通过c#代码来剔除重复的字符串,要怎么写才能提高效率。数据本人存在一个数组里面了。
解决方案

20

不排序而进行搜索,肯定是一个令人“崩溃”的程序。而排序了(索引了)之后再查询,则可以满足用户体验。
本人是主要关心的是各种技术问题在本人的工程组织上的映射,否则本人也不会太关心技术。
那么这个问题可以作为面试的题目吗?说实在的,以前本人不会以这种题目作为面试题目的。但是看到论坛中有些人认为“我们程序员根本没有必要关心学习算法,我们只要会跳槽涨薪就行了”的回复,本人觉得这类比较简单的问题也还是值得讨论讨论。

20

试试本人这个效率怎样
		public static System.Array Distinct(System.Array obj)
		{
			if (obj == null) 
			{
				return null;
			}
			System.Collections.ArrayList list = new System.Collections.ArrayList(obj);
			if(obj.GetLength(0)>0)
			{
				for (int i = 0; i < list.Count - 1; i++)
				{
					for (int j = i + 1; j < list.Count; j++)
					{
						if (object.Equals(list[i], list[j]))
						{
							list.RemoveAt(j);
							j--;
						}
					}
				}
			}
			return list.ToArray(obj.GetType().GetElementType());
		}

不行的话给你一个思路,用System.Collections.Hashtable,首先测试Hashtable能否存在某个键,假如没有则添加,最后将Hashtable转换成数组。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c#字符串的查重