av_zhuravlev
|
Дата: 14.02.2013
Качество видео мягко говоря не очень. Меню практически не видно. Не нужно пережимать так сильно.
|
|
Спасибо:
|
|
|
|
|
Самунджян Артем
|
Дата: 14.02.2013
HD включали ?
|
|
Спасибо:
|
|
|
|
|
av_zhuravlev
|
Дата: 14.02.2013
Да, сорри, отключилось. Спасибо.
|
|
Спасибо:
|
|
|
|
|
UsilaDobry
|
Дата: 31.03.2013
В 1 части при описании смены культур: Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); VC# подчеркивает красным "Thread" - Элемент Thread не существует в текущем контексте, и CultureInfo - не удалось найти имя типа или пространства имен "CultureInfo" (пропущена директива using или ссылка на сборку?) Когда я добавил в директиву using: using System.Threading; и using System.Globalization; ошибки пропали. Но лектор на этом внимание не акцентировал, у него при написании кода всё было гладко и он в директиву using ничего не добавлял. В чем нюанс?
|
|
Спасибо:
|
|
|
|
|
UsilaDobry
|
Дата: 31.03.2013
В конце первой части шла речь о переменных типа string. Был приведен код суммирования строк: string name = "Иван"; name = name + " Петров"; Я захотел вывести на консоль "Его полное имя: Иван Петров", добавил код Console.WriteLine("Его полное имя: ", name); но в консоль выводится только "Его полное имя: ". Почему?
|
|
Спасибо:
|
|
|
|
|
IvanB
|
Дата: 01.04.2013
UsilaDobry ... Когда я добавил в директиву using: using System.Threading; и using System.Globalization; ошибки пропали. Но лектор на этом внимание не акцентировал, у него при написании кода всё было гладко и он в директиву using ничего не добавлял. В чем нюанс? Лектор использовал ReSharper, это дополнение (плагин), разработанное компанией JetBrains для повышения продуктивности работы в Microsoft Visual Studio ( wiki). Система выводит подсказки в виде всплывающих панелей, нажав на пункт в этой панели пространство имен автоматически добавляется. UsilaDobry ...Я захотел вывести на консоль "Его полное имя: Иван Петров", добавил код Console.WriteLine("Его полное имя: ", name); но в консоль выводится только "Его полное имя: ". Почему? Потому что правильно так: Console.WriteLine("Его полное имя: {0}", name); ( информация) или так: Console.WriteLine("Его полное имя: " + name);
|
|
|
|
|
UsilaDobry
|
Дата: 01.04.2013
Вопрос по домашнему заданию: 1. Почему в операторе switch при проверке условия високосности предлагается код if (Isleap(year)), а не if (Isleap(year) == true)? 2. В сети предлагается условие определение високосности года, как if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)). К примеру, возьмем високосный год 2100, он кратен 4, он кратен 100, и он не кратен 400? Как быть с этим?
|
|
Спасибо:
|
|
|
|
|
IvanB
|
Дата: 01.04.2013
|
|
|
|
UsilaDobry Вопрос по домашнему заданию: 1. Почему в операторе switch при проверке условия високосности предлагается код if (Isleap(year)), а не if (Isleap(year) == true)? Потому что оператор if проверяет значение в скобках true/false и в зависимости от этого выбирает ту или иную ветку кода. Т.е. можно написать и так: этот код откомпилируется и ошибок не будет, но, конечно, он без смысленный. В нашем случае функция Isleap возвращает значение типа bool, это то, что нужно для принятия решения в операторе if. Код if (Isleap(year) == true) избыточен в этом смысле (т.е. результат операции == тоже bool, как и Isleap), если так понятнее, то можно и так писать, на результирующий исполняемый файл это не скажется, компилятор оптимизирует. UsilaDobry 2. В сети предлагается условие определение високосности года, как if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)). К примеру, возьмем високосный год 2100, он кратен 4, он кратен 100, и он не кратен 400? Как быть с этим? Судя по статье из Википедии 2100 год не високосный и это соответствует Вашему коду.
|
|
|
|
|
UsilaDobry
|
Дата: 01.04.2013
Это не входит в ДЗ, но всё же спрошу. Хотел написать код, чтобы с консоли вводить не только год, но и месяц. И чтобы в итоге выводилось сообщение: В (таком-то месяце) года (такого-то) (столько-то) дней. Написал вот такой код: Код
int year;
string month;
bool YearIsValid;
bool MonthIsValid;
do
{
Console.Write("Введите год: ");
string strYear = Console.ReadLine();
YearIsValid = int.TryParse(strYear, out year);
Console.Write("Введите месяц в формате Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec");
string strMonth = Console.ReadLine();
MonthIsValid = string.TryParse(strMonth, out month);
} while (!YearIsValid && !MonthIsValid);
Console.WriteLine("В месяце {0} года {1} {2} дней.", month, year, DaysInMonth(Month month, year));
VC# определяет ошибку с string.TryParse - string не содержит определение для TryParse; и ошибка с DaysInMonth(Month month, year) - ни одна из перегрузок метода DaysInMonth не принимает "1" аргументов. Что посоветуете?
|
|
Спасибо:
|
|
|
|
|
IvanB
|
Дата: 01.04.2013
|
|
|
|
UsilaDobry, я бы сделал так: Код
int year;
Month month;
bool YearIsValid;
bool MonthIsValid;
do
{
Console.Write("Введите год: ");
string strYear = Console.ReadLine();
YearIsValid = int.TryParse(strYear, out year);
Console.Write("Введите месяц в формате Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec : ");
string strMonth = Console.ReadLine();
MonthIsValid = Month.TryParse(strMonth, out month);
} while (!YearIsValid && !MonthIsValid);
Console.WriteLine(
"В месяце {0} года {1} {2} дней.",
month,
year,
DaysInMonth(month, year)
);
Тип месяца взял специальный (который мы в рамках урока реализовали), не string. Чтобы преобразовать строку в значение типа нашего месяца, использую обращение к перечислимому типу, так: Код
Month.TryParse(strMonth, out month);
И вторая ошибка, которая была, при выводе, это Вы пытались сделать явное преобразование типа, теперь это не нужно, но даже если нужно было бы, то это делается так: (Month)month но не так Month month т.е. тип надо указывать в скобках.
|
|
|
|