Многим, наверно, знакома задачка, которую часто решают на скорую руку: добавить в строку фрагмент, если выполнено очередное условие.
Типичный кусок кода (немного надуманный пример, но все же):
На выходе, если все аргументы нулевые, получим строку "ARG1 ARG2 ARG3 ".
А если мы захотим "ARG1, ARG2, ARG3"? Или даже "ARG1, ARG2 and ARG3"?
Типичный кусок кода (немного надуманный пример, но все же):
void SomeFunc(string arg1, string arg2, string arg3)
{
string msg = "";
if (arg1 == null) msg += "ARG1 ";
if (arg2 == null) msg += "ARG2 ";
if (arg3 == null) msg += "ARG3 ";
if (msg != "") throw new ArgumentNullException(msg);
//...
}
На выходе, если все аргументы нулевые, получим строку "ARG1 ARG2 ARG3 ".
А если мы захотим "ARG1, ARG2, ARG3"? Или даже "ARG1, ARG2 and ARG3"?