C# readable code
It is the easy level algorithm. I wrote the code in the weekly contest 108. It took me around 15 minutes since I tested the code first before I submitted. Ideal
It is the easy level algorithm. I wrote the code in the weekly contest 108. It took me around 15 minutes since I tested the code first before I submitted. Ideally I think that is should take less than 10 minutes since I used API of string.Join, I did not need to write any loop by myself. 
```
public class Solution {
    public int NumUniqueEmails(string[] emails)
        {
            if (emails == null || emails.Length == 0)
                return 0;

            var hashset = new HashSet<string>(); 
            foreach(var email in emails)
            {
                //need to figure out email address
                var split1 = email.Split('@');
                var domainName = split1[1];
                var name = split1[0];
                var userName = name.Split('+');
                var withDot = userName[0];
                var splitWithDot = withDot.Split('.');
                var address = string.Join("", splitWithDot);
                hashset.Add(address + "@" + domainName); 
            }

            return hashset.Count; 
    }
}
```
[]