如何比较相同链接的两个列表?

use*_*761 -1 .net c#

我每隔X秒就从一个计时器滴答事件中调用这个类:

WebClient contents = new WebClient();
        List<string> links = new List<string>();
        public static List<string> FilteredLinks = new List<string>();
        List<string> Respones = new List<string>();
        public static List<List<string>> Threads = new List<List<string>>();

        public void Links(string FileName)
        {
            HtmlDocument doc = new HtmlDocument();
            doc.Load(FileName);
            foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
            {
                HtmlAttribute att = link.Attributes["href"];
                if (att.Value.StartsWith("http://rotter.net/forum/scoops1"))
                {
                    links.Add(att.Value);
                }
            }

            for (int i = 0; i < links.Count; i++)
            {
                int f = links[i].IndexOf("#");
                string test = links[i].Substring(0, f);
                FilteredLinks.Add(test);
            }
Run Code Online (Sandbox Code Playgroud)

链接和FilteredLinks都是类型列表我需要它将检查列表中是否已存在项目不再添加它们.由于它从一个计时器嘀嗒事件调用所以每隔X秒,列表就会一遍又一遍地使用相同的项目成长.

L.B*_*L.B 6

使用HashSet而不是List.这样,您不必检查重复的字符串.

HashSet<string> links = new HashSet<string>();
Run Code Online (Sandbox Code Playgroud)

集合是一个不包含重复元素的集合,

http://msdn.microsoft.com/en-us/library/bb359438(v=vs.110).aspx