- 1
- 2
- 3
- 4
- 5
- 6
- 7
public static bool AddStringIfNoExist(this List<string> strlist, string str)
{
if (str == "") return true;
foreach (string s in strlist) if (s == str) return true;
strlist.Add(str);
return false;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
public static bool AddStringIfNoExist(this List<string> strlist, string str)
{
if (str == "") return true;
foreach (string s in strlist) if (s == str) return true;
strlist.Add(str);
return false;
}
Hashset? А что это такое?
Vince 30.03.2016 10:52 # 0
Steve_Brown 30.03.2016 12:24 # 0
Функция для решения маленькой конкретной подзадачи - разве что public смущает.
kerman 30.03.2016 13:26 # 0
Это extension method, он для всех листов работать будет. Так что для решения маленькой конкретной подзадачи не катит, хотя бы потому, что доступен отовсюду.
В коде используется для получения коллекции уникальных стрингов из другой коллекции.
Steve_Brown 30.03.2016 14:14 # 0
nihau 30.03.2016 13:36 # 0
kerman 30.03.2016 14:15 # +1
nihau 30.03.2016 15:10 # 0
kerman 31.03.2016 00:46 # 0
Пусть мучается та макака, которая вызовет ЭТО для нулл.
nihau 31.03.2016 10:58 # 0
kerman 31.03.2016 00:37 # 0
1. O(N) вместо O(1), а с учётом использования это O(квадрат) вместо O(N).
2. Частный случай проверки на пустую строку в общем алгоритме.
3. Замусоривание выдачи intellisence методов для всех листов.
А, ну да, ещё форматирование говно.