Практикум C#

  • 1,1K Просмотры
  • Последний пост 24 мая 2017
Amigo Work разместил пост 01 января 2017

Коллеги, предлагаю к обсуждению в данной дискуссии вопросов связанных с практикумом C#.

http://skills.itvdn.com

Отсортировать по: Стандартный | Последний | Голоса
Anton Korneyev разместил пост 19 января 2017

Решил ли кто-то первую задачу из блока "Массивы и индексаторы"? Там нужно найти и исправить ошибки приведения типов массивов.

Одна из ошибок - попытка downcast массива. Как сказано в подсазке, это недопустимо.

Вторая - попытка вызова специального метода производного класса после приведения всего массива к базовому типу (интерфейсу).

Для их решения я выполнил необходимые приведения типов поэлементно. После этого программа, по-видимому, работает корректно - все методы, попытка вызвать которые была в исходном коде, вызываются и выполняются. Но исправленный код не принимается. Что не так?

Спасибо.

Amigo Work разместил пост 29 января 2017

Прикладывайте скрины заданий .... так проще будет разобраться

Nahim jo разместил пост 04 февраля 2017

Вопрос к администрации! Будет ли увеличиваться количество заданий по каждой из тем ? К примеру по С#  в каждом разделе всего по 5 заданий, этого очень мало. Хотелось бы как минимум 20 как в практикуме по html и css. Чтобы задания более обхватывали все аспекты изученных тем. 
Спасибо!

ITVDN Admin разместил пост 06 февраля 2017

Здравствуйте, к сожалению, планов на дополнение уже записанных видео курсов нет. Но мы учли пожелание Ваше и многих других пользователей и большинство новых видео курсов будут иметь упор на практические навыки, в том числе будет добавлено более обширное домашнее задание. Желаем успехов в дальнейшем обучении! 

Борис Жестков разместил пост 14 февраля 2017

Есть проблема с задачей 2 блока "Введение в ООП. Классы и объекты" практикума C# Essential. Не принимается решение:

class MyClass

{

   private string name;

   

   public string Name

   {

       get

       {

           if ((name == String.Empty) || (name == null))

               return "Name is not defined";

           else

               return this.name;

       }

       set

       {

           name = value;

       }

   }

Почти все попытки на перебор вариантов потратил.

Дмитрий Бурмистров разместил пост 14 февраля 2017

Добрый вечер, прохожу курс C# Starter. Внутри него пункт "Переменные и типы данных" и 3 задача: "Создайте две переменных типа double с именами op1 и op2 и начальными значениями 4.6 и -34.72 соответственно. Затем создайте переменные sum, dif, mul и div и присвойте им значения сумы, разницы, произведения и деления значений op1 и op2 соответственно. После этого выведите в консоль значения sum, dif, mul и div по очереди, каждое – с новой строки, в таком формате:

<операнд1> <знак операции> <операнд2> = <результат операции>. Используйте элементы форматирования."

Конкретно ссылка: http://skills.itvdn.com/#/examination/6c5fea45-22cd-485b-9614-3166bb2ee8b8

Вопрос в том, что не принимает никакой ответ по данному пункту, к примеру очевидный вариант не подходит, потерял много баллов, перепробовал все варианты, не понятно, что не так?

Вот мой ответ: 

        double op1 = 4.6;

        double op2 = -34.72;

        double sum = op1 + op2;

        double dif = op1 - op2;

        double mul = op1 * op2;

        double div = op1 / op2;

        Console.WriteLine("{0} + {1} = {2}", op1, op2, sum);

        Console.WriteLine("{0} - {1} = {2}", op1, op2, dif);

        Console.WriteLine("{0} * {1} = {2}", op1, op2, mul);

        Console.WriteLine("{0} / {1} = {2}", op1, op2, div);

Дмитрий Бурмистров разместил пост 14 февраля 2017

Метод string.IsNullOrEmpty(name) не проще использовать для проверки (тогда вообще тернарным оператором красиво пишется)? Попробуйте ещё this не указывать.

  • Пост понравился
  • Борис Жестков
Борис Жестков разместил пост 15 февраля 2017

Действительно проще, и с тернарным оператором ответ принят. Спасибо! 

Дмитрий Бурмистров разместил пост 15 февраля 2017

Хорошо, что помогло. А глянь, пожалуйста, мой вопрос выше. Может твоё решение прошло.

Amigo Work разместил пост 16 февраля 2017

Console.WriteLine("{0} {1} {2} = {3}", op1, '+', op2, sum);

  • Пост понравился
  • Дмитрий Бурмистров
Дмитрий Бурмистров разместил пост 16 февраля 2017

Спасибо большое! Странно, я такой же вариант пробовал...Наверное где-то что-то забыл указать)

Александр Евсеев разместил пост 25 февраля 2017

Здравствуйте, никак не могу понять, почему система не принимает в практикуме C# / Ограничения универсальных шаблонов / 5 задание "Класс Dictionary":

Заполните словарь dict парами 1 – «one» .. 4 – «four» и выведите их на экран в формате «ключ-значение». Диапазон ключей для вывода – 0..10. В случае, если какому-то ключу не присвоено значение – вывести соответствующее сообщение "i has no value", где i - ключ

Дан изначальный код:

using System;
using System.Collections.Generic;

namespace Less11_task05
{
    class Program
    {
        static void Main( string[] args )
        {
            Dictionary<int, string> dict = new Dictionary<int, string>();

            Console.ReadKey();
        }
    }
}

 

Решение вроде же должно быть простым, уже использовал под 40 попыток, но уже из принципа хочу понять - что не так?

Вот мой код:

using System;
using System.Collections.Generic;

namespace Less11_task05
{
    class Program
    {
        static void Main( string[] args )
        {
            Dictionary<int, string> dict = new Dictionary<int, string>();
            dict.Add(1,"one");
            dict.Add(2,"two");
            dict.Add(3,"three");
            dict.Add(4,"four");

            for(int i=0; i<=10;i++)
                if (dict.ContainsKey(i))
                    Console.WriteLine("{0}-{1}",i,dict[i]);
                else
                    Console.WriteLine("{0} has no value",i);

            Console.ReadKey();
        }
    }
}

Михаил Кизима разместил пост 14 марта 2017

Ответ на вопрос Ковариантность и контрвариантность массивов

((MyClass)BaseArray[i]).Method2();

MyClass[] DerArray = (MyClass[])BaseArray;

Олександр Шевчук разместил пост 24 мая 2017

Александр Евсеев, Этот вариант система уже принимает. А вот когда

Console.WriteLine(i + "-" + dict[i]);

почему-то нет.

Close