Профил
Loading...
+ Нов въпрос
tsv_tsonev avatar tsv_tsonev 4 Точки

Advanced C# - Sets and Dictionaries - Problem 07. Fix Emails

Здравейте, може ли някой да сподели решение на посочената задача и по конкретно как става триенето по част от стойността (в конкретния случай изтриването на имейлите, които завършват на "us" или "uk" ).

Благодаря предварително

Тагове:
0
C# Advanced
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Може би тази проверка ще ти свърши работа:

if (!email.EndsWith("us", StringComparison.InvariantCultureIgnoreCase)
    && !email.EndsWith("uk", StringComparison.InvariantCultureIgnoreCase))

 

0
Irrrka avatar Irrrka 19 Точки

Аз направих проверка

String pattern1=".us" , същото и за uk и след това if( dictionary.ContainsValue(pattern1 || pattern2) >> dictionary.RemoveKey

Ако не се разбира ще кача кода по-късно, че сега нямам възможност.

 

 

 

 

1
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Аз изобщо не ги вкарвам в речника. Само ако мейлите не съдържат .uk и .us, ги добавям. Така няма какво да трия.

 

Обаче, ако не се лъжа, pattern-ът, който си дал може да се провали... Пример: armen.us@abv.bg

1
IskrenPenev avatar IskrenPenev 177 Точки

Аз не трия нищо, просто ако даден мейл завършва на uk/us не го добавям :)

string ending = email.Substring(email.Length - 2, 2).ToLower();
if (ending != "uk" && ending != "us")
{
    emails.Add(name, email);
}

 

4
tsv_tsonev avatar tsv_tsonev 4 Точки

Как тогава като изтриеш даден имейл изтриваш и името като не са добавени в колекция?

0
IskrenPenev avatar IskrenPenev 177 Точки

Както казах не трия нищо - при невалиден имейл просто не добавям нищо.
Логиката ми е следната: 
1. Правя си речник;

2. Чета от конзолата вход (името);

3. Ако входът не е "стоп", чета втори ред от конзолата (съответно имейла);

4. Проверявам дали имейла завършва на us/uk;
     - ако е валиден имейл, добавям името и мейла в речника, и чета ново име от конзолата;
     - ако завършва, просто чета ново име;

5. Печатам съдържанието на речника;

http://pastebin.com/qRnWNJ1w  - това е решението ми.
Поздрави !

2
tsv_tsonev avatar tsv_tsonev 4 Точки

Благодаря още веднъж за споделеното решение и поздрави и на теб.

0