.NET und C# ohne Web?
Ты там в резЮме вообще не пиши эти смешные буквы В1 и В2. Пусть сами выясняют твой уровень по телефону. Просто тупо пиши "знаю немецкий". И да, убери про знание таджикского.
Wirklich?.. Nein. WIRKLICH??
(чего картинки из буфера не вставляются? во время редактирования вставляются, а после отправки поста - исчезают)

Как по-мне, кортежи в первую очередь с точки зрения читабельности кода не самая удобная штука. out-параметры гораздо удобнее. Хотя еще удобнее было бы просто сделать возврат класса/интерфейса с одними геттерами :)
Почему не удобно? Даже в версии 7.3 языка уже можно давать осмысленные имена элементам кортежа. В примере ниже при выводе в консоль res.sum и res.count подсвечиваются IntelliSense (тут и код нормально не вставляется). Хреново видно, т.к. разметки для кода нет, но и так понятно - возврат из метода кортежа с осмысленными названиями полей, результат возврата - тоже кортеж с осмысленными названиями, интеллисенс сразу всё подхватывает и подсвечивает. Возиться с предварительным объявлением аут-параметров не надо, классы объявлять не надо. Вобщем, очень похоже на анонимные типы, только тут неявный кортеж (без явного объявления Tuple). В теле метода специально назвал переменные с единичкой в конце, чтобы показать, что имена возвращаемых полей кортежа определяются в возврате метода.
public static (int sum, int count) SumNumbers(IEnumerable<int> sequence)
{
int sum1 = 0;
int count1 = 0;
foreach (var value in sequence)
{
sum1 += value;
count1++;
}
return (sum1, count1);
}
static void Main(string[] args)
{
var res = SumNumbers(Enumerable.Range(1, 5));
Console.WriteLine($"Sum: {res.sum}, Count: {res.count}");
}Но это ведь всё изучить надо.
-----
Что именно надо изучатъ?
Что там есть такого нового, что не входит в парадигму ООП и что не было имплементированно в других языках?
Ну наберется там с 5-10 страниц описания новинок. И это должно стоить того чтобы говорить - "там столько надо учить-учить"?
Или может надо было в "школе" научится эффективно (само)обучатся?
заменяет out-параметры?
-----
А то, что наличие оут-параметров нарушало школьное определение функции тебе не мешало?
В вопросе возврата чего-то из функции меня больше интересует где будет размещен результат - куча? стек? - область его видимости и время существования. А вернуть можно хоть структуру, хоть массив объектов - с этим проблем не было со времен Пуре Си...
я Вам уже говорил когда-то: рассылайтесь веерно и не ждите окончания обучения, за ними начнутся другие курсы, а потом ещё одни
Вы когда начнёте работать, увидите, каких дятлов тут иногда за кодеров держат и будет обидно за упущенное время
Да вроде как Я такого не говорил
А я имел в виду именно это - было одно, стало другое
. А лучше или хуже out параметры это уже вопрос конкретного использования, причем не имеющий никакой связи с тем что я хотел сказать.
Ну а любители кортежей могут попробовать написать получше хотя бы это
if(int.TryParse(strData, out int age))
{
Console.WriteLine($"Age:{age}");
}
А зачем тут кортеж? Я бы не булеан возвращал а прочитанный инт. Не можешь прочитать - кидай эксепшен.
Именно так ведет себя int.Parse (), а int.TryParse() как раз не должен кидать исключений (как и любая другая функция, имя которой начинается с Try)
Но с кортежем это не будет выглядеть лучше :)

