• Как перейти с PHP на C# (не по стандартным учебникам)?

    @Melz
    Почитать наверное все-таки придется.

    1. Ваш print_r($sum) по идее должен выбросить хотя бы варнинг тк вы создали $sum в цикле, а пользуетесь им вне цикла. В шарпах он там не будет существовать.

    2. В шарпах есть типы. Создавать числа как строки никто не будет. Смыла нет. Так же нет смысла преобразовывать число обратно в строку.

    Создать список с числами (не строками) от 100 до 999.
    var numberList = Enumerable.Range(100, 999).ToList();

    Не надо конвертировать число в строку (ваш метод так себе). Надо использовать остаток от деления на 10. Для 650 вернет 11.
    int sum = 0;
    for (int n = x; n > 0; sum += n % 10, n /= 10);

    На олимпиадах ненавидят Linq :D
    Весь ваш пример, включая генерацию списка. Сохраняет сумму в новый список.
    var numberList = Enumerable.Range(100, 999).ToList();
                var result = numberList.Select(x =>
                {
                    int sum = 0;
                    for (int n = x; n > 0; sum += n % 10, n /= 10);
                    return sum;
                });
                ;
    Ответ написан
    1 комментарий
  • Какую выбрать книгу по WPF?

    Vadimyan
    @Vadimyan
    Программист C#
    В офисе была только книга Мак-Дональда, в ней много теории, есть примеры, которые сложно использовать в реальной жизни (поскольку WPF без MVVM практически нежизнеспособен), поэтому вначале она мне не понравилась, но позже, при необходимости реализации сложного UI на WPF мы часто к ней возвращались, как справочник её использовать крайне удобно.
    И знание внутренних механизмов работы WPF хорошо помогает в отладке - понимаешь причину ошибок, где-то не всплывает пузырьковое событие, потому что перехватывается внутри, где-то не срабатывает биндинг, поскольку проблемы с привязкой (привязка идёт к свойству объекта, а поменялся сам контекст).
    Ответ написан
    1 комментарий