Getting SharePoint users and comparing them with SPList I have a custom SPList that has a field Assigned To, now I can add as many items as I want, and they can have same title and same User they are assigned to, but what I want is a script so that I only get the distinct number of user's email address, e.g. if a user is assigned to more then 1 item, I will get there email address just once, here is the code I wrote down but I don't think if its good enough.

using (SPSite site = new SPSite("www.local.com"))
    using (SPWeb web = site.OpenWeb())
    {
        SPList mySourceList = web.Lists["ListName"];

        SPQuery mySourceListQuery = new SPQuery();

        mySourceListQuery.Query =

            "&lt;OrderBy&gt;&lt;FieldRef Name='AssignedTo' /&gt;" +
                     "&lt;FieldRef Name='Title' /&gt;" +
            "&lt;/OrderBy&gt;";



        SPListItemCollection mySourceItemColl = mySourceList.GetItems(mySourceListQuery);


        foreach (SPUser user in web.Users)
        {
            foreach (SPListItem mySourceListItem in mySourceItemColl)
            {
                name = mySourceListItem["AssignedTo"].ToString();

                name = name.Substring(name.IndexOf("#") + 1);

                if (user.Name == name)
                {
                    Console.WriteLine(user.Email);
                }
            }
        }
The my prefixes are unnecessary, I'd call the variables sourceList, sourceListQuery, sourceItems etc.
I'd create a method for this:

name = name.Substring(name.IndexOf("#") + 1);


I guess removeId could be a good name. The method name would help readers to understand the intent of the writer.