Merge pull request #159 from jpatte/master

shorten c# example code
This commit is contained in:
Martin Cech 2018-04-27 12:45:11 -04:00 committed by GitHub
commit a9a770a9b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -89,30 +89,14 @@ rl.on('close', () => {
**C#** **C#**
```C# ```C#
private static readonly Lazy<HashSet<string>> _emailBlackList = private static readonly Lazy<HashSet<string>> _emailBlackList = new Lazy<HashSet<string>>(() =>
new Lazy<HashSet<string>>( {
() => var lines = File.ReadLines("disposable_email_blacklist.conf")
{ .Where(line => !string.IsNullOrWhiteSpace(line) && !line.TrimStart().StartsWith("//"));
var result = new HashSet<string>(StringComparer.OrdinalIgnoreCase); return new HashSet<string>(lines, StringComparer.OrdinalIgnoreCase);
using (var reader = new StreamReader("disposable_email_blacklist.conf")) });
{
string line;
while ((line = reader.ReadLine()) != null)
if (!string.IsNullOrWhiteSpace(line) && !line.TrimStart().StartsWith("//"))
result.Add(line);
}
return result;
});
private static bool IsBlacklisted(string domain) private static bool IsBlacklisted(string domain) => _emailBlackList.Value.Contains(domain);
{
var parts = domain.Split('.');
var len = parts.Length;
return
len == 1 && _emailBlackList.Value.Contains(domain)
|| _emailBlackList.Value.Contains($"{parts[len - 2]}.{parts[len - 1]}")
|| len > 2 && _emailBlackList.Value.Contains($"{parts[len - 3]}.{parts[len - 2]}.{parts[len - 1]}");
}
... ...