We help IT Professionals succeed at work.

Using IEqualityComparer

AstroGuy
AstroGuy asked
on
Medium Priority
503 Views
Last Modified: 2012-05-07
Code generates 2 errors
Error      1      Using the generic type 'System.Collections.Generic.IEqualityComparer<T>' requires '1' type arguments      C:\Documents and Settings\xxxx\My Documents\Visual Studio 2005\Projects\HashInsensitiveComparer216\HashInsensitiveComparer216\Program.cs

Error      2      The type or namespace name 'CaseInsensitiveComparer' could not be found (are you missing a using directive or an assembly reference?)      C:\Documents and Settings\xxxx\My Documents\Visual Studio 2005\Projects\HashInsensitiveComparer216\HashInsensitiveComparer216\Program.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
 
namespace HashInsensitiveComparer216
{
    class Program
    {
        static void Main(string[] args)
        {
            Hashtable dehash = new Hashtable(new InsensitiveComparer());
            dehash["First"] = "1st";
            dehash["Second"] = "2nd"; 
            dehash["Third"] = "3rd"; 
            dehash["Fourth"] = "4th"; 
            dehash["fourth"] = "5th";
 
            Console.WriteLine(dehash.Count); // 4 
        }
        public class InsensitiveComparer : IEqualityComparer
        {
            CaseInsensitiveComparer _comparer = new CaseInsensitiveComparer();
            public int GetHashCode(object obj)
            {
                return obj.ToString().ToLowerInvariant().GetHashCode();
            }
 
            public new bool Equals(object x, object y)
            {
                if (_comparer.Compare(x, y) == 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
    }
}

Open in new window

Comment
Watch Question

Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Workrd like a charm
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.