C#   Уроки программирования с нуля. Си-шарп для чайников   C#

Здравствуйте, гость!
Вход
Регистрация


Переменные,типы данных, константы в Си-шарп
Переменная – это именованная область памяти. В переменную можно записывать данные и считывать. Данные, записанные в переменной, называются значением переменной.

Си-шарп – язык жесткой типизации. Каждая переменная должна быть определенного типа данных. Ниже, в таблице наведены встроенные типы данных языка Си-шарп:

ТипОбласть значенийРазмер
sbyte-128 до 127Знаковое 8-бит целое
byte0 до 255Беззнаковое 8-бит целое
charU+0000 до U+ffff16-битовый символ Unicode
booltrue или false1 байт*
short-32768 до 32767Знаковое 16-бит целое
ushort0 до 65535Беззнаковое 16-бит целое
int-2147483648 до 2147483647Знаковое 32-бит целое
uint0 до 4294967295Беззнаковое 32-бит целое
long-9223372036854775808 до 9223372036854775807Знаковое 64-бит целое
ulong0 до 18446744073709551615Беззнаковое 64-бит целое
float±1,5*10-45 до ±3,4*10334 байта, точность — 7 разрядов
double±5*10-324 до ±1,7*103068 байтов, точность — 16 разрядов
decimal(-7,9 * 1028 до 7,9 * 1028) / (100–28)16 байт, точность — 28 разрядов


*Здесь нет ошибки. Оперативная память - массив байтов, где каждый байт имеет уникальный адрес. Для bool достаточно одного бита: 0 - false, 1 - true, но минимальная адресуемая сущность - байт, поэтому ненулевой байт считается за истину, нулевой - ложью.

Для того, чтобы использовать переменную, ее сначала нужно объявить:

static void Main(string[] args)
{
   int a; // объявляем переменную a типа int
   a = 5; // записываем в переменную a число 5
   int b, c; // объявить можно сразу несколько переменных через запятую
   bool d; // объявляем переменную d типа bool
   d = true; // записываем в переменную d значение true (истина)
   long e = 10; // при объявлении переменной можно сразу же задавать ей значение, это называется инициализацией
   float f = 5.5f; // чтобы записать число с плавающей точкой типа float, нужно после значения добавлять суффикс f.
   char g = 'g'; // объявление символьной переменой g с ее инициализацией значением символа 'g'
}

При использовании переменной, в которую не было записано значение, компилятор выдаст ошибку "Use of unassigned local variable [variableName]".

static void Main(string[] args)
{
   int a;
   Console.WriteLine(a); //ошибка
}

Язык Си-шарп чувствительный к регистру символов. Переменные max и Max это не одно и то же. Не забывайте этого, чтобы не иметь лишних проблем.

Имя переменной должно отображать суть данных, которые она отображает. Не стоит называть переменные ни о чем не говорящими именами типа a, b, c. Используйте английские слова. Высота – height, возраст – age и т. д.

НИКОГДА не используйте кириллические символы в именах переменных.

Преобразование встроенных типов данных

Переменные одного типа можно преобразовывать в переменные другого типа. Преобразование бывает явным и неявным. Неявное преобразование выполняет компилятор.

Пример неявного преобразования:

static void Main(string[] args)
{
   int a = 35;
   short b = 10;
   a = b; // неявное преобразование. Так как int большего размера, чем short – утери данных не будет
   b = a; // ошибка компиляции, нельзя тип большего размера неявно преобразовать в тип меньшего размера
}

При явном преобразовании необходимо непосредственно перед переменной, которую вы хотите преобразовать, указать в скобках тип, к которому приводится переменная.

Пример явного преобразования:

static void Main(string[] args)
{
   int a = 35000;
   short b = 10;
   b = (short) a; // в этом случае уже ошибки не будет. Так как максимальное значение типа short 32767, здесь будет утеря данных.
}

Константы

Константа – это переменная, значение которой нельзя изменить. Константы используются для гарантирования того, что данные в этой переменной не изменятся.
Для того, чтобы объявить константу, перед обычным объявлением переменной нужно добавить ключевое слово const:

static void Main(string[] args)
{
   const int months = 12; // объявление константы
   months = 13; // ошибка компиляции
}

При объявлении константы она должна обязательно быть проинициализирована значением.
Константы также делают ваш код более красивым, читаемым.

static void Main(string[] args)
{
   const int months = 12;
   const int monthSalary = 1024;
   int yearSalary = monthSalary * months;
}

Гораздо понятнее чем:

static void Main(string[] args)
{
   int yearSalary = 12 * 1024;
}

Константы могут быть двух типов: простые литералы и строчные:

static void Main(string[] args)
{
   Console.WriteLine(100); // 100 есть 100 и этого не изменить, это константа, а точнее числовой литерал
   Console.WriteLine("Hello!"); // строка “Hello!” является строчным литералом
}

Здесь стоит отличать константы от переменных-констант, последние имеют имя, как в примере с месяцами и зарплатой.

Ключевое слово var

Начиная с версии C# 3.0 в язык было добавлено ключевое слово var, которое позволяет создавать переменные без явного указания типа данных. Тип данных такой переменной определяет компилятор по контексту инициализации.

static void Main(string[] args)
{
   var number = 5; // number будет типа int
   var text ="some text"; // text будет типа string
   var number2 = 0.5; // number2 будет типа double
}

var сохраняет принцип строгой типизации в Си-шарп. Это означает, что после того, как для переменной уже был определен тип, в нее нельзя записать данные другого типа:

static void Main(string[] args)
{
   var number = 5;
   number = "some text"; // ошибка, number определен как int
}

Ключевое слово var следует использовать в первую очередь с LINQ выражениями (при работе с базами данных)

static void Main(string[] args)
{
  var query = from s in bdContext.Students select s;
}

О LINQ мы будем говорить позже.

Ключевое слово var имеет ограничения по его использованию - var не может быть в качестве:

- поля класса
- аргумента функции
- возвращаемого типа функции
- переменной, которой присваивается null

Нововведение var является достаточно противоречивым среди разработчиков на C#, некоторые используют его где только возможно, другие его избегают (код становится плохо читаемым).

Ссылочные типы

Все типы данных, о которых мы говорили выше, являются структурными. Также существуют ссылочные типы. Из базовых типов к ссылочным относятся object и string.
Тип object является базовым для всех остальных типов данных. Типу string соответствует строка символов Unicode.

Пример использования типа string.

static void Main(string[] args)
{
   string hello = "Hello!";
   Console.WriteLine(hello);
}

Структурные типы данных в Си-шарп хранятся в стеке. Для этих данных зарезервирована область в стеке.

Стек — это структура данных, которая сохраняет элементы по принципу «последним пришёл — первым вышел» . Примером из жизни служит стопка тарелок. Скорость работы со стеком гораздо выше, чем с оперативной памятью, следовательно, использование стека повышает скорость работы программы.

Ссылочные типы хранятся в куче.

Куча — это область динамической памяти, которая выделяется приложению для хранения данных (например объектов). Доступ к данным в куче осуществляется медленнее, чем к стеку. Переменные ссылочных типов хранят ссылки на данные.

К ссылочным типам относятся классы, интерфейсы, делегаты и массивы. Больше об этом читайте в уроке Ссылочные типы и типы значений в Си-шарп.

Домашнее задание

Создайте новый проект или откройте предыдущий, объявите несколько переменных различных типов, примените явное и неявное преобразование. Создайте константную переменную, попробуйте изменить ее значение.

PS. Не забываем подписываться на обновления по электронной почте в форме ниже!
Понравилась статья? Подпишись на рассылку и узнавай первым о новых уроках по почте!


Поделиться с друзьями:
15 апр 2013 02:13
lnikacag 22 окт 2017 10:02
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Более подробная информация на нашем сайте. ( prosto-dengi.tk )

CurtisTrody 19 окт 2017 19:08
Мы ценим ваше время и делим с вами общие цели. Ваши продажи для нас главный приоритет.
заказать продвижение интернет магазина логин скайпа SEO2000

оращайтесь договримся есть примеры работ логин скайпа SEO2000

lnikacag 03 окт 2017 19:44
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Ознакомтесь с условиями на нашем сайте. ( prosto-dengi.tk )

lnikacag 03 окт 2017 01:04
Пройдите 1 регистрацию, сделайте 2 действия
и получайте от 8950 рублей каждые сутки в автоматическом режиме.

Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.

Более подробная информация на нашем сайте. ( prosto-dengi.tk )

Avito321vom 29 сен 2017 17:55
<b>Пополение баланса Авито (Avito) за 50%</b> | <b>Телеграмм @a1garant</b>

<b>Мое почтение, дорогие друзья!</b>

Рады будем предоставить Всем вам сервис по пополнению баланса на действующие активные аккаунты Avito (а также, совершенно новые). Если Вам необходимы конкретные балансы - пишите, будем решать. Потратить можно на турбо продажи, любые платные услуги Авито (Avito).

<b>Аккаунты не Брут. Живут долго.</b>

Процент пополнения в нашу сторону и стоимость готовых аккаунтов: <b>50% от баланса на аккаунте.</b>
Если требуется залив на ваш аккаунт, в этом случае требуются логин и пароль Вашего акка для доступа к форме оплаты, пополнения баланса.
Для постоянных заказчиков гибкая система бонусов и скидок!

<b>Гарантия: </b>

<b>И, конечно же ничто не укрепляет доверие, как - Постоплата!!!</b> Вперед денег не просим...

Рады сотрудничеству!

<b>Заливы на балансы Авито</b>
________

угнали аккаунт авито
деньги в долг на авито тюмень
мошенники на авито можно ли вернуть деньги
зальем фундамент авито
авито аккаунт с балансом

Semen 28 сен 2017 20:05
Несложная работа, ежедневная зарплата!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Более подробная информация на нашем сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

JamesZer 27 сен 2017 01:47










JamesZer 27 сен 2017 01:47










JamesZer 27 сен 2017 01:47










JamesZer 27 сен 2017 01:47










Анна 26 сен 2017 18:41
Интересная работа с обучением, оплата ежедневно!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Более подробная информация на нашем сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

EvaDanVasR 25 сен 2017 19:07
Приветики мальчики и девочки. А как интересно Вы
проводите своё свободное время?

Nataliehic 25 сен 2017 00:21
Данное сообщение размещено здесь с помощью XRumer + XEvil 3.0
XEvil 3.0 - революционное приложение, способное обходить практически любую антибот-защиту.
Распознавание капчи Google, Facebook, Yandex, VKontakte, Captcha Com и свыше 8400 тысяч других типов!
Вы читаете это - значит, это работает! ;)
Подробности на официальном сайте XEvil.Net, есть бесплатная демо-версия.

ElenDOMraK 22 сен 2017 18:36
Всем приветы. Как можно найти свою половинку?
Где водятся хорошие парни? Как Вы нашли мужа?

AnnDanVan 22 сен 2017 13:32
Приветики мальчики и девочки. А какое у Вас хобби?
Чем любите заниматься в свободное время?

DonaldCog 31 авг 2017 06:21
Хочу продать аккуанты Google.com Voice, нареганы очень много различных аков / Sold account Twitter.com PVA Profiled ready many diverse akkov

ICQ - 231538

РУ
Могу продать аккуанты Facebook.com 2010, аккуанты готовы + на руках очень много подобных аккуантов, например - Facebook.com PVA RU, Youtube.com Aged, Twitter.com 1000 Plus, Nextplus.me и другие.

ICQ - 231538

EN
Want to sell accounts Google.com Play, accounts ready + present a lot of different accounts, for example - Facebook.com 2012, Twitter.com PVA RU, Twitter.com PVA 2015, Google.com Play and other.

ICQ - 231538

Хочу продать аккаунты Twitter.com EN 100 Plus, есть в наличии много разных акков ICQ - 231538 / Sell off accounts ready many different akkov ICQ - 231538





купить женскую аккаунт на мамбе, онлайн магазин аккаунтов вконтакте, продам акки одноклассники.ру, магазин аккаунтов, купить аккаунты facebook.com, купить аккаунт email, продаю аккаунты yandex, магазин аккаунтов facebook, как получить смс с одноклассников, купить почту yahoo, что делать с купить аккаунты liveinternet, магазин почтовых аккаунтов

salinacag 10 июл 2017 22:01
Интересная работа, зарплата ежедневно!

Вы работаете дома! Полностью честно и прозрачно;
Доступно для всех - неважно кто вы и какой у вас опыт работы в интернете!
Вы будете зарабатывать: свыше четырёх тысяч рублей в день!
Сложность: Несложно!
Оплата: - уже на следующий деньги у вас на счету!

Более подробная информация у нас на сайте. > realno-money.tk < Скопируйте и вставьте в адресную строку Вашего браузера.

gjostmjgwo@gmail.com 01 июл 2017 10:11
This is one awesome blog.Thanks Again.

DeweyReX 25 июн 2017 05:20
If you have a desire to learn how to earn from $ 500 per day and work only for yourself, then write to us at email: admin@makemoneyonline.universalxyzdom.xyz

https://0lovespells0.blogspot.com/ 18 июн 2017 09:41
What's up,I log on to your blog named "Переменные,типы данных, константы в Си-шарп" regularly.Your story-telling style is awesome, keep doing what you're doing! And you can look our website about love spells.

http://www.aghanyna.com/arabic/songs/cat/sha3by 18 июн 2017 04:31
What's up,I check your blog named "Переменные,типы данных, константы в Си-шарп" daily.Your humoristic style is awesome, keep it up! And you can look our website about ????? ???? 2017.

http://www.coool-shop.com/ 11 июн 2017 15:27
Great, thanks for sharing this article.

DennisVob 01 апр 2017 00:24
Мало хлопотать о самочувствии своего малыша - следует предпринимать решительные действия для его защиты. Причем поручить этот вопрос следует исключительно опытным профессиональным докторам.
На сегодняшний день консультации своего педиатра по карману далеко не всем жителям России. А отправляться по всякому вопросу в поликлинику, отстаивать бесконечные очереди и подвергать чадо риску заразиться вирусами от других детей - тоже не вариант.
К счастью, многие частные клиники дают оформить программу Детского Добровольного Медицинского Обслуживания (ДМО), которая даёт возможность за небольшую сумму денег приобрести полис на годовое обслуживание у врачей.
К сожалению, не многие люди осведомлены о данной услуге и продолжают лечиться народными методиками, ждут длительное время в очередях и переплачивают за посещения частных докторов.
А программа Добровольного Медицинского Обслуживания для детей позволяет:
" Бесплатно получить больничный лист по уходу за ребенком;
" Бесплатно проходить обследование у персональных врачей педиатров;
" Бесплатно или со скидкой проходить лечебные процедуры и диагностические процедуры;
" Лечить чадо вовремя, качественно и без очередей.
Для того чтобы ознакомиться со списком клиник и условиями оказания услуг нужно вбить в поиск Яндекса или Google ключевое выражение: "Добровольное Медицинское Обслуживание". После этого нужно подобрать понравившуюся клинику и оформить договор.

34j5c6h87

Brandonliatt 07 мар 2017 10:59
На сайтах с относительно низкой конкуренцией можно раскрыть за час-два и поправить за неделю.

Задачи которые я предлагаю уладить:

-Проконтролировать как работает с сайтом ваш специалист и проверить текующую ситуацию по SEO?
-Найду просчеты совершенные ранее и построю тактику по урегулированию ситуации.
-Продемонстрирую как проверять работу SEO спеца.


Планируете пригласить SEO профессионала?

-Проведу собеседование потенциальногоSEO специалиста. Разберем по каким параметрам оценивать его уровень.
- Проанализируем различия между наемным в штат SEO, делегированном SEO и раскрутке личными средствами.


Желаете сами раскрутить существующий web-сайт. Расскажу все насчет продвижения, после консультирования вам станет понятно:

-Как много будет стоить проект по созданию сайта
-Сколько по времени надо будет его продвигать с тем чтобы добиться топов
-Из каких именно пунктов складывается само продвижение, схематично разберем каждый из них.
-Проанализируем в связи с чем не стоит пользоваться услугами фирм, оказывающих такие услуги как по SEO


Планируете создать вебсайт и организовать его продвижение?

-Расскажу и далее покажу каким образом сделать весьма экономный и высококачественный вариант web-сайта.
-До какой степени объемным или сложным должен стать ваш интернет-сайт чтобы составлять конкуренцию в топе.
-Как много вкладывают все ваши конкуренты в продвижение.
-Насколько реально войти в топы с вашим веб-сайтом и с вашим бюджетом.


Есть желание узнать окупится ли консультация?

Звоните по телефону либо в skype - я отвечу на все имеющиеся вопросы затрагивающие SEO и вашего интернет-ресурса.

Любые вопросы - позвоните +7(812)9114848 или по скайпу admin1.ru
Часовая консультация по стоимости 3тыс рублей, возможно заключение соглашения и проплата на расчетный счет.
Оказываю безвозмездные консультации за рекомендации (так как у подавляющей массы web-сайтов проблему видно практически сразу)

acol7wns24

MichelNof 13 фев 2017 18:21
Есть такая услуга - добровольное медицинское обслуживание .
Она предполагает, что пациент платит небольшую сумму за то, что посещает врачей в течение года не платя за каждый прием.
Однако опросы показывают, что лишь 4% жителей Санкт-Петербурга знают о ее существовании.
Почему?
Да потому что клиникам намного выгодней сдирать с людей деньги за каждый визит.
А если какой-нибудь сотрудник клиники попытается рассказать про добровольное медицинское обслуживание клиенту - это сулит ему увольнением.
Информация о ДМО уже спровоцировала кучу скандалов, сразу после того как информацию об услуге распространил один возмущенный врач.
Его уволили "по собственному желанию", после того, как он посоветовал ДМО своему пациенту.
Самое невероятное, что официальные положения по ДМО присутствуют в открытом доступе, просто находили на эту информацию единицы.
Как отстоять свои права?
О правилах предоставления такой услуги и обязанностях частных клиник можно узнать, просто вбив в Яндекс фразу: "добровольное медицинское обслуживание".
Именно обслуживание, а не страхование.

34j5c6h86

Человек 10 фев 2017 01:20
И снова, снова, снова. В заголоок сайта громко пишем: "Программирование с нуля..."
Ну скажите. ДА КАКОЙ ТАМ К ЧЕРТЯМ С НУЛЯ? Большая часть понятий не обьяснена: например, что за "база данных", "поля класса", "null"??? Где пояснение?

negorcag 05 фев 2017 22:51
Высокооплачиваемая работа на дому.
Мы предлагаем: Достойная зарплата без задержек, справка 2-НДФЛ, карьерный рост, бесплатное обучение,
свободный график, страховые взносы в Пенсионный фонд, официальный договор (по желанию).
График Вашей работы, Вы устанавливаете по своим возможностям.
Ваш возраст и образование значения не имеют.
Обязательные условия: наличие компьютера и интернета.
Ваши действия:
1. На сайте ( off-rabota.tk ) скачайте и установите приложение.
2. Ознакомьтесь с содержимым.
3. Пройдите несложную регистрацию.
4. Обязательно, пройдите курсы обучения. (Бесплатно)
5. Начинайте зарабатывать!
Зарплату мы перечисляем только на банковскую карту любой платёжной системы.
(Для работы советуем оформить отдельную карту)
ВНИМАНИЕ! Весь процесс регистрации, обучения совершенно бесплатны. Не попадитесь в руки мошенников!

-----JGHHJ16FU16G1U6F51J6F1J6R1UY6F5Y-----

RinWorld 26 янв 2017 05:23
Float то не правильный :)
https://msdn.microsoft.com/ru-ru/library/b1e65aza.aspx

mihpir889 05 янв 2017 17:37

int a = 1;
bool b = true;
float s = 56.34f;
double k = 54.23;
string name = "Миша";

s = a;
k = (double)a;
const float pi = 3.14f;


евгений 27 ноя 2016 22:00
чуток попутал в коде вот щас праильноно все так же без дробей. если подскажете как вставить дроби и разделители буду благодарен

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
const int nds = 18;//ставка налога на добавленную стоимость расчитываемая из налогоблагаемой базы
const int rends = 118;// обратная ставка приведения ндс для вычета ее из налогоблагаемой базы
Console.WriteLine("Введите налогооблагаему базу для вычета налога на добавленную стоимость");
int income = Convert.ToInt32(Console.ReadLine());//ввод чистого операционного дохода (налогооблагаемой базы)
int fclean = income * nds;// умножаем налогоблагаемую базу на ставку налога на добавленую стоимость
float fclean2 = fclean / rends;//налогооблагаемая база умноженная на ставку ндс делиться на обратную ставку для вычета ндс формула такая х*18/118
float z = income - fclean2;
Console.WriteLine("выручка за минусом ндс" + z + "рублей");//вывод итогового результата в консоль
Console.ReadKey();

евгений 27 ноя 2016 21:53
еще вопрос. попробовал ввести сумму 50 000 000 000 - 50 миллиардов. пишет что для инт 32 слишком малое или слишком большое значение. я так понимаю для таких целей необхоимо исопльзовать инт 64?

евгений 27 ноя 2016 21:46
Забыл сказать. 1 как вы видите плавающая точка не была применена что конечно же отражается на качестве получаемого результата. в итоге погрешность по моим скромным оценкам не должна привысить 1 - 1,5%.
2) абсолютно не знаю как ставить разделители при выводе итогового результата поскльку число пишется слитно что делает его понимание несоклько сложнее. при работе с массивом такой подход не годится. уверен есть простые способы добавить разделитель дописав гдето 1- строк

евгений 27 ноя 2016 21:41
раньше вобще не имел с этим дело. после написания пробных программ по шаблону которые тут выкладывали люди решил написать сам. с третьего раза получилось. вобще нуб и не понимаю значения некоторых терминов как то инт стринг и прочие. однако результат хоть и небольшой есть. программа для вычета ставки налога ндс из налогооблагаемой базы. прошу сильно не пинать.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
const int nds = 18;//ставка налога на добавленную стоимость расчитываемая из налогоблагаемой базы
const int rends = 118;// обратная ставка приведения ндс для вычета ее из налогоблагаемой базы
Console.WriteLine("Введите налогооблагаему базу для вычета налога на добавленную стоимость");
int income = Convert.ToInt32(Console.ReadLine());//ввод чистого операционного дохода (налогооблагаемой базы)
int fclean = income * nds;// умножаем налогоблагаемую базу на ставку налога на добавленую стоимость
float fclean2 = fclean / rends;//налогооблагаемая база умноженная на ставку ндс делиться на обратную ставку для вычета ндс формула такая х*18/118
Console.WriteLine("выручка за минусом ндс" + fclean2 + "рублей");//вывод итогового результата в консоль
Console.ReadKey();

BoRik0 22 ноя 2016 18:48
было бы неплохо
делать Console.ReadKey();
после каждого Console.WriteLine(f);
чтобы увидеть выводимый результат

Артемий 21 ноя 2016 22:02
Правильно? (если что я только в 8 классе)

public static void Main(string[] args)
{

int a = 150;
//uint f = 20;


Console.WriteLine(a + f);

int a2 = 200;
float b = 4.6f;

Console.WriteLine(a2 + b);



const int DayOfWeek = 7;

Console.WriteLine(DayOfWeek);




Console.ReadLine();

}
}
}


DedUndead 24 авг 2016 10:05
Объединил задание с практикой вывода значений в само окно после компиляции, вроде все получилось :)


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Тестовый_проект
{
class Program
{
static void Main(string[] args)
{
int players = 30;
int teams = 2;
int quantity = 30 * 2;
Console.WriteLine(quantity);
int a = 100;
short b = 10;
a = b; // неявное преобразование
int c = 200;
short d = 100;
d = (short)c; // явное преобразование
Console.WriteLine(d);
Console.WriteLine(c);
char f = 'E';
Console.WriteLine(f);
Console.ReadKey();
}
}
}


Артур 11 июл 2016 14:20
Иван,

Console.WriteLine("Go my " + A + "$");

Иван 11 июл 2016 09:09
int A = 500;
Console.WriteLine("Go my" A "$");
Console.ReadKey();

Как правильно написать, что бы в итоге получилось "Go my 500$" ?


Есаул 08 июл 2016 17:35
Рекомендация -
Распечатать табличку с типами данных и пристроить на мониторе - полезно - часто встречается, ну а со временем запомнится.

Cyber_Lord 27 фев 2016 23:13
Сначала были некоторые трудности с уроком. но потом смог сделать все как надо. Вот код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Programmer
{
class Program
{
static void Main(string[] args)
{
const int computer = 5;
const int room = 1;
const int howcomputerinroom = computer * room;
int year;
year = 12;
int month;
month = 31;
int timeoff = year * month;
int tower;
tower = 30;
short house;
house = 10;
tower = (short)house; // явное переобразавание
tower = house; // неявное переобразавание
Console.WriteLine(howcomputerinroom);
Console.WriteLine(timeoff);
Console.WriteLine(tower);
Console.ReadKey();
}
}
}

Олександр 17 фев 2016 12:13
Почему в результате выводится только текст, без переменной?
static void Main(string[] args)
{
const int halfyear = 6;
const int salary = 14800;
int zz = halfyear * salary;
Console.WriteLine("you earned", zz);


дак напиши Console.WriteLine("you earned " + zz); и выведет все как надо.

Сергей 02 фев 2016 16:06
Надо так:

int a = 5, b = 7;
double s, c1, c2, cos;
s =(a * b / 2);
cos = Math.Cos(90 * Math.PI / 180);
c1 = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2));
c2 = Math.Sqrt(a * a + b * b - 2 * a * b * cos);
Console.WriteLine("ploshad ={0}",+s);
Console.WriteLine("gipotenuza1 ={0}",+c1);
Console.WriteLine("gipotenuza2 ={0}",+c2);
Console.ReadKey();

Абылай 30 янв 2016 08:53
Помогите пожалуйста! написал код к данной задаче, программа не нашла никакой ошибки, но ответ не выходит. Код смотреть ниже.

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ariphmetical_operation
{
class Program
{
static void Main(string[] args)
{
int a = 5, b = 7;
double s, c1, c2, cos;
s = ( a * b/2);
cos = Math.Cos(90*Math.PI/180);
c1 = Math.Sqrt(Math.Pow(a,2) + Math.Pow(b,2));
c2 = Math.Sqrt(a*a + b*b - 2*a*b*cos);
Console.WriteLine("ploshad =",s);
Console.WriteLine("gipotenuza1 =",c1);
Console.WriteLine("gipotenuza2 =",c2);
Console.ReadKey();
}
}
}


astatium 24 ноя 2015 14:05
Понимаю, что некропостинг, но можно вопрос: почему для статически объявленных переменных используется стек, а не область кода или сегмент данных? И почему стек быстрее? Ведь по идее скорость доступа должна быть одинаковой, если не надо прыгать через сегменты, а забивание стека фигнёй мне ничем хорошим не выглядит.
P.S. Assembler проходил давно и на dosBox'e, поэтому охотно признаю, что могу не знать чего-то очень важного об организации оперативной памяти на 32 и 64 разрядной архитектуре, и с радостью исправлю ошибки в своих суждениях

Александр 22 ноя 2015 19:34
static void Main(string[] args)
{
int a = 35;
short b = 10;
a = b; // неявное преобразование. Так как int большего размера, чем short – утери данных не будет
b = a; // ошибка компиляции, нельзя тип МЕНЬШЕГО размера неявно преобразовать в тип БОЛЬШЕГО размера
}

Автор, спасибо Вам за головоломку, весь день голову ломал, надеюсь, разгадал правильно =) (см. выделенное регистром)

Himoto 31 окт 2015 18:02
Автору большое спасибо за работу, если так и дальше пойдет, то я не настолько и безнадежен. Сделал домашнюю работу и даже просчитал свой заработок за контракт с учетом расходов. В вашу работу я ещё обязательно сделаю свой небольшой вклад.

namespace Homework1
{
class Program
{
static void Main(string[] args)
{
int bigtree;
bigtree = 30;
short smalltree;
smalltree = 5;
bigtree = smalltree; //неявное преобразование
bigtree = (short)smalltree; //явное преобразование
const int quarter = 4;
const int monthsalary = 35000;
const int prize = 9000;
const int timeoff = 2 * monthsalary;
int cigarettes = 72 * 20 + 95 * 30 + 90 * 10;
int digital = 1500 + 1760 + 15000;
int costs = cigarettes + digital;
int salary = quarter * monthsalary + prize + timeoff - costs;
Console.WriteLine(bigtree);
Console.WriteLine(salary);
Console.ReadKey();

hufs 04 окт 2015 21:25
to hmd


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
const int halfyear = 6;
const int salary = 14800;
int zz = halfyear * salary;
Console.WriteLine("you earned "+ zz);
Console.ReadKey();
}
}
}

hmd 30 сен 2015 15:14

Почему в результате выводится только текст, без переменной?

static void Main(string[] args)
{
const int halfyear = 6;
const int salary = 14800;
int zz = halfyear * salary;
Console.WriteLine("you earned", zz);
Console.ReadKey();
}



Если же делать

Console.Write("you earned");
Console.Write(zz);

То все выводится нормально.

Роман 06 сен 2015 21:30
Добрый день, подскажите, пожалуйста, меня заинтересовали типы некоторых переменных. Пример, хочу достать тип переменной int вывожу его в консоли, но вот если я хочу какой-то переменной само значение этого типа:
static void Main(string[] args)
{
int a = 32900;
short b = 10;
b = (short)a; // в этом случае уже ошибки не будет. Так как максимальное значение типа short 32767, здесь будет утеря данных.
var v = b.GetType();// переменную получается задать только в таком виде.
Console.WriteLine(v);
Console.ReadKey();
}
В данном случае явно как-то задать переменную "v" могу я? ибо консоль мне выводит v.GetType() как что-то типа System.RunTimetype
Но я так понял это не тип переменной?

Максим 03 сен 2015 11:52
Mikhail
---
Да, 200 помещается в short

Mikhail 02 сен 2015 08:18
Привет ! Я вот не могу понять при явном преобразовании данные не всегда меняют значение? То бишь:
int a;
a=200;
short b;
b=14;
b=(short)a;
как я понимаю (а) не изменяется, потому что значение находится в диапазоне типа данных short.

Влад 03 авг 2015 13:19
//Создайте новый проект или откройте предыдущий, +
//объявите несколько переменных различных типов, примените явное и неявное преобразование. +
//Создайте константную переменную, попробуйте изменить ее значение. +
int Gaming = 1000;
byte PC = 10;
bool Gamers = true;
string Fraza = "What are you doing?";
Gaming = PC;
PC = (byte) Gaming;
const string Privet = "Hello, How are you?";
Privet = "Hi?";

Дмитрий 28 июл 2015 18:10

namespace lesson_2
{
class Program
{
static void Main(string[] args)
{
const int month = 12; // константа
const int monthsalary = 3000;
month = 14;
const int PrizeatEndOfEar = month * monthsalary;
const int MoneyForYear = (month * monthsalary) + PrizeatEndOfEar;
Console.WriteLine("годовая зарплата = ");
Console.WriteLine(MoneyForYear);
Console.ReadKey();
float temperature = 36.6f;
byte actual = 10;
actual = (byte)temperature; // явное преобразование
int t = 1567;
short b = 24;
t = b; // неявное преобразование

MichGar 23 июл 2015 20:47
* Создайте новый проект или откройте предыдущий, объявите несколькопеременных различных типов, примените
явное и неявное преобразование. Создойте константную переменную, попробуйте изменить её значение
*/

using System;
using System.Collections.Generic;
using System.Text;

namespace HomeWorkVariable
{
class Program
{
static void Main(string[] args)
{
sbyte sb = 125;
byte b = 220;
int i = 65700;
ushort u;
double d;

d = sb;
Console.WriteLine("d = {0}", d);
d = b;
Console.WriteLine("d = {0}", d);
d = i;
Console.WriteLine("d = {0}", d);

u = (ushort)sb;
Console.WriteLine("u = {0}", u);
u = b;
Console.WriteLine("u = {0}", u);
u = (ushort)i;
Console.WriteLine("u = {0}", u);

const double dd = 45.267;
// dd = 78.235; // ошибка
}
}
}

Максим 21 июл 2015 12:48
Юрий
---
Выведите значение переменной в консоль:
Console.WriteLine(weekSalary);

Юрий 20 июл 2015 15:30
И не знаю как исправить этот недочет...


const int day = 14;
const int daySalary = 1154;
int weekSalary = daySalary * day; // Предупреждение 2 Переменной "weekSalary" присвоено значение, но оно ни разу не использовано C:\Users\Пользователь\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 14 17 ConsoleApplication1
//в чем проблема здесь не пойму

Azenot 18 июл 2015 22:15
ДЗ
static void Main(string[] args)
{
// переменные
int a = 74000;
const char symbol = 'z'; //константа
string word = "zero";
short b = 20;
//явное преобразование
double c = a;
//неявное преобразование
short d = (short)a;
Console.WriteLine("double c " + c);
Console.WriteLine("short d " + d);
Console.ReadLine();
}



Максим 15 июл 2015 11:03
Илья
---
При переполнении short переменная принимает наименьшее возможное значение, т.е. -32768. При этом, это значение увеличено на столько, на сколько больше значение в int чем верхняя граница short. 35000 - 32768 = 2232. -32768+2232=-30536

Илья 12 июл 2015 16:31

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Domashka_1
{
class Program
{
static void Main(string[] args)
{
int a = 35000;
short b = 10;
b = (short) a;
Console.WriteLine(b);
Console.ReadKey();
}
}
}


почему вместо 32767 он выводит - 30536

Mikhail 22 июн 2015 16:46
Grizv0lD,

преобразования типов могут понадобиться, например, при сопряжении устройств. Скажем, устройство А выдает данные одного типа, а устройство B готово принимать данные другого типа.

// Выполняем домашнее задание.

int A = 35000;
short B = 10;
B = (short) A;
Console.WriteLine("B="+B);
// В этом примере значение переменной B оказалось равным почему-то -30536.
// Непонятно, по какому принципу происходит утеря данных.
// Если переменную int A=35000 привели к типу short, то логично ожидать, что
// новое значение A станет равным верхней границе диапазона short, т.е. 32767,
// однако, этого не произошло.

int Var01 = 55;
double Var02 = 6.01;
double Summ;
Summ = Var01 + Var02;
Console.WriteLine("Summ="+Summ);
// В этом примере поисходит сложение переменных разных типов: int и double.
// Результат записывается в перменую типа double.

int R = 99000;
R = (byte)R;
Console.WriteLine("R="+R);
Console.WriteLine("Press any key ...");
Console.ReadKey();
// В этом примере переменную int R приводим к типу byte.

Максим 15 июн 2015 10:51
Никита
---
Консольное

Никита 14 июн 2015 15:56
А какое приложение создавать для домашнего задания?
консольное или windows forms?

Максим 08 июн 2015 09:37
Владислав
---
Добавьте в конце функции main Console.ReadKey();

Владислав 07 июн 2015 23:15
Ребят, проблема, начинаю только работать в Visual C# 2013 так, создаю проект, пишу код, любую, даже если вставляю программу, почему то выводит окно "хеллоу ворлд" на секунду и закрывает...где и что изменить?О_О

Максим 06 июн 2015 12:28
Константин
---
Добавил в урок в таблицу

Константин 05 июн 2015 23:11
А чему равно значение decimal?

Grizv0lD 28 май 2015 11:48
Наконец-то нашёл то, что я читаю и понимаю. С удовольствием вникаю и делаю задания, спасибо за труд. Второй урок вроде и цельный, и задаёт вектор на будущее, но вот по-моему есть упущение: нет примера практической необходимости преобразования.

Прочитал все комментарии, ни у кого в примерах не увидел необходимости в этом преобразовании, т.е. сделано для галочки.

Был бы очень благодарен, если кто-то найдёт время и опишет какой-то сценарий, в котором без преобразования никуда и обратный случай, когда необходимое ранее преобразование было выполнено, а в дальнейшем это мешает.

Максим 27 май 2015 13:11
vv-ch
---
Да, не в тот

vv-ch 27 май 2015 12:20
блин, че я комментарии все не в нужный урок пишу?

vv-ch 27 май 2015 12:18
программа, которая находит максимум из суммы соседних четырех элементов таблицы размером N на M
на вход N и M и таблица данных.
Например:

3
5
1 3 4 1 5
8 3 11 1 13
0 1 1 3 4

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace c_sharp_sol
{
class Program
{
static void Main(string[] args)
{
int n, m;
int[,] a = new int[100, 100];
n = Convert.ToInt32(Console.ReadLine());
m = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= n; i++) {
string s = Console.ReadLine();
s = s + ' ';
string t = "";
int v = 1;
bool b = false;
for (int j = 0; j < s.Length; j++) {
if (s[j] == ' ')
{
if (b)
{
a[i, v] = Convert.ToInt32(t);
v++;
t = "";
}
b = false;
}
else {
t = t + s[j];
b = true;
}
}
}
long mx = -1000000000000;
for (int i = 2; i <= n; i++) {
for (int j = 2; j <= m; j++) {
mx = Math.Max(mx, a[i, j] + a[i - 1, j] + a[i, j - 1] + a[i - 1, j - 1]);
}
}
Console.WriteLine(mx);
}
}
}





vv-ch 27 май 2015 11:03
т.е. 0

vv-ch 27 май 2015 11:03
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace c_sharp_sol
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world");
double a = 5, b = 7, s, c1, c2;
s = a * b / 2;
c1 = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2));
c2 = Math.Sqrt(Math.Pow(a, 2) + Math.Pow(b, 2) - 2 * a * b * Math.Cos(Math.PI / 2)); //Да, я знаю, что косинус 90 - это 1. просто так лучше материал запоминается
Console.WriteLine(s);
Console.WriteLine(c1);
Console.Write(c2);
}
}
}

vv-ch 27 май 2015 10:49
подскажите, есть ли в c# какой-нибудь аналог cin>> и cout<< как в c++, а то ввод даже одной интовской переменной вызывает неудобства

Flamingo 20 май 2015 15:20

static void Main(string[] args)
{
for (int i = 0; i < 501; i++ )
{
string number = Convert.ToString(i); File.AppendAllText("C:\\Users\\Flamingo\\Desktop\\С#\\For_Some_Files\\Text_File.txt", number + " ");
}
}

Flamingo 18 май 2015 21:49

static void Main(string[] args)
{
for (int i = 0; i < 501; i++ )
{
string number = Convert.ToString(i); File.AppendAllText("C:\\Users\\Flamingo\\Desktop\\С#\\For_Some_Files\\Text_File.txt", number + " ");
}
}

Tenet 09 апр 2015 16:46
Андрей
При сложении byte и byte неявно преобразовывается в int и чтобы присвоить byte нужно сделать явное преобразование.

public static void Main()
{


byte bt = 99;
double d = 3.1415;
byte bt2 = 1;

bt2 = (byte)d;
bt2 = (byte) ((int)bt + (int)d); //вот так надо

Console.WriteLine(bt2);
Console.ReadLine();


}


Максим 21 мар 2015 13:09
ахмед
---
Докажите ему обратное

ахмед 21 мар 2015 10:36
МОЙ УЧИТЭЛ ГОВОРИТ ШТА Я ТУПОЙ(((((((((
ШТО МНЭ ДЭЛАТ?

Андрей 15 мар 2015 22:58
Спасибо.
Но все равно не пойму((.
Если делать просто приведение типа одной переменной к типу другой - тогда код работает.

Если делать тоже самое, но в выражении - не работает((
Наверное в выражениях -запрещено.


static void Main()
{
byte bt = 99;
double d = 3.1415;
byte bt2 = 1;

bt2 = (byte)d; //работает (хотя double больше byte)
bt2 = bt + (byte) d; //ошибка

Console.WriteLine(bt2);
Console.ReadLine();
}

Максим 15 мар 2015 22:27
Андрей
---
Так нельзя. Тип byte меньше типа int, будет утеря данных. Если в "a" или "b" будет число больше 255, как его конвертить в byte если у него максимальное значение 255? Наоборот можно

Андрей 15 мар 2015 15:03
Всем привет!
Автору - спасибо за очень полезные уроки!!
Не могу разобраться в следующем коде:
static void Main()
{
byte bt = 99;
int a = 5;
short b = 10;
double d = 3.1415;

byte bt2 = 1;

bt2 = bt + (byte) b; //ошибка
bt2 = bt + (byte) d; //ошибка

Console.WriteLine(bt2);
Console.ReadLine();
}

неужели нельзя делать приведение типов в выражениях?

P0jar 14 мар 2015 14:01
Ребята, всё получается. Главное, быть внимательным.

Автору большое спасибо за нелёгкий труд педагога.

Вот что у меня вышло.

namespace HW1
{
class Program
{
static void Main(string[] args)
{
byte a;
a = 25;
byte b, c;
bool f;
f = false;
long e = 125;
float k = 5;
ushort d = 65; // объявление переменных различных типов;

int m = 75;
short v = 25;
m = v; // пример неявного переобразования, когда типы переменных это позволяют; в случае "v = m" ничего бы не вышло;

int h = 75000;
short l = 75;
l = (short)h; // пример явного переобразования, максимальное значение типа short 32767, здесь будет утеря данных;

const int cakes = 15; // объявление константы;
cakes = 14; // ошибка компиляции;

const int day = 7;
const int daySalary = 512;
int weekSalary = daySalary * day; // недельная зарпала



Glory 10 мар 2015 15:41
int a = 100;
Console.WriteLine("Привет, Введи свой Рост.");// Первое вступительное предложение
int height = Console.Read();// Вводится и считывается переменная "а"
int idealweight = height - a;// Находится идеальный вес (idealweight)
Console.WriteLine("Твой идеальный вес" + idealweight + "кг");// Выписывается идеальный вес (idealweight)
Console.ReadKey();


Обьясните и мне пожалуйсто что не так )

-------------------------------------------------
namespace ConsoleWeight
{
class Program
{
static void Main(string[] args)
{
int a = 100;
Console.WriteLine("Привет, Введи свой Рост.");// Первое вступительное предложение
string input = Console.ReadLine();// Вводится и считывается переменная "а"
int height = Convert.ToInt32(input);
int idealweight = height - a;// Находится идеальный вес (idealweight)
Console.WriteLine("Твой идеальный вес" + idealweight + "кг");// Выписывается идеальный вес (idealweight)
Console.ReadKey();

}
}
}

Вы получаете строку из консоли, ее надо преобразовать в int

Михаил 26 фев 2015 11:02
С таким энтузиазмом шёл по главам, от "Введение", до "Урок 1. Первая программа на Си-шарп" и огорчился. Тут явно не для чайников. Кроме -

1. Си-шарп чувствительный к регистру символов.
2. ...не используйте кириллические символы в именах переменных.

ничего не понятно. Жаль.

Максим 17 фев 2015 20:21
Артем
---
Уже наверное десятый раз мне указывают на эту "опечатку". Оперативная память - массив байтов, где каждый байт имеет уникальный адрес. Для bool достаточно одного бита: 0 - false, 1 - true, но минимальная адресуемая сущность - байт, поэтому ненулевой байт считается за истину, нулевой - ложью.

Артем 17 фев 2015 15:44
Стоит ли говорить, но все же досадная опечатка до сих пор присутствует.
bool - 1 бит, а у вас указано 1 байт

Serij 27 янв 2015 23:01
class Program
{
static void Main(string[] args)
{


const int a = 10;
int summ = 0;
double g = 3.45;
summ = g + a;


Console.WriteLine(summ);

Console.ReadKey();


}
}
}




Вот что выдает:"Ошибка 1 Не удается неявно преобразовать тип "double" в "int". Существует явное преобразование (возможно, пропущено приведение типов)."

Solomander 25 янв 2015 23:17
int a = 100;
Console.WriteLine("Привет, Введи свой Рост.");// Первое вступительное предложение
int height = Console.Read();// Вводится и считывается переменная "а"
int idealweight = height - a;// Находится идеальный вес (idealweight)
Console.WriteLine("Твой идеальный вес" + idealweight + "кг");// Выписывается идеальный вес (idealweight)
Console.ReadKey();


Обьясните и мне пожалуйсто что не так )

Rafnsvartr 29 дек 2014 18:58
// Переменные
int a = 3;
double b = 3.2;
char c = 't';
string d = "window";
bool e = false;
float f = 5.5f;
ushort g = 65535;
short h = 31001;

// Явное
a = (int) f;
h = (short)g;
// Неявное
f = a;
b = f;

// конст перемен
const int co = 31; // Значение константы менять нельзя =)

Unknown 19 дек 2014 18:10
class Program
{
static void Main(string[] args)
{
uint age = 35; //
ushort weight = 56; //
age = (ushort) weight; //
Console.WriteLine( "age =" +weight); //
Console.ReadKey();

int sold = 50000; //
short bought = 40000; //
bought = (short)sold; //
Console.WriteLine("How much have been bought? bought = " + sold); //
Console.ReadKey();
явное и неявное, мало что понимаю( надеюсь разберусь :)

Влад 14 дек 2014 18:55
Д/З
int Gamers = 1000;
double Brazzers = 0.5;
ulong Cetra = 125;
short b = 10;
Gamers = b; // Неявное преобразование.
b = Gamers; // Ошибка компиляции, нельзя тип большего размера неявно преобразовать в тип меньшего размера.
b = (short) Gamers; // Явное преобразование.
const int super = 10; // Константа.
Console.WriteLine(10); // числовой литерал
Console.WriteLine("Happy"); // Строчный литерал.
super = 11; // Попытка изменить константу.

pocz 02 дек 2014 21:53
ДЗ)
//неявное преобразования:
ulong Opel = 1982;
Double Mazda = 1987;
Mazda = Opel;
//явное преобразования:
int x = 36;
float y = 17;
y = (int) x;
//Константа:
const Double Nissan = 100000;
//Константа – это переменная, значение которой нельзя изменить =)

Максим 20 ноя 2014 19:15
Андре
---
Уже отвечал на этот вопрос десяток раз:
"Минимальная адресуемая единица памяти - 1 байт. Даже если для хранения данных необходим всего 1 бит - на это выделяется 1 байт"

Андре 20 ноя 2014 04:33
Или, может, я не прав?

Андре 20 ноя 2014 04:32
в таблице типов ошибка: bool - это 1 бит

Максим 09 ноя 2014 16:08
Raccoon
---
Используйте не целые типы данных вместо int - float, double

Raccoon 08 ноя 2014 20:31
Sorry, I fogot some part of code
int salary;
const int salaryforday = 35;
Console.WriteLine("How many days have you worked?");
int days = Convert.ToInt32(Console.ReadLine());
salary = salaryforday * days;
Console.WriteLine("Your salary is " + salary);
Console.Read();

Raccoon 08 ноя 2014 20:01
Добрый день, подскажите пожалуйста, написал код для вычисления количества твоего зп, в зависимости от того, сколько дней отработал, а как сделать так, что бы при дробном числе, тоже выводило результат? Зарание спасибо.
int salary;
const int salaryforday = 35;
Console.WriteLine("How many days have you worked?");
salary = salaryforday * days;
Console.WriteLine("Your salary is" +salary);
Console.Read();

Евгений 29 окт 2014 22:59
При преобразование типов данных( явных или не явных), отображается ошибка:
int a = 200;
double b = 10;
a = (double)b;

Я так понимаю , int не может быть преобразовано в double, так как int может принимать только целое число?

Максим 26 окт 2014 18:40
masha_0810
---
Числа с дробной частью

masha_0810 26 окт 2014 13:30
извините за тупость, но что значит: "числа с плавающей запятой"?...

Julia 25 окт 2014 17:55
Хочется сказать что отличный сайт для начинающих!!!! Все предельно понятно! А если что то непонятно, то при прочтении коментариев мойжно получить ответы на вопросы, потому что другие задают те же самые вопросы, а Admin четко и внятно отвечает на них. Продолжаю дальше перехожу на следущий урок!!! Спосибо!!! посоветую своей подруге...

pinkgamma 07 окт 2014 20:39
все разобрался)

pinkgamma 07 окт 2014 17:18
извиняюсь за столь тупой вопрос, подскажите пожалуйста что значит " явное и неявное преобразование ". Нужно ввести чтобы работало и чтобы не работало, а писало ошибку?

ZiBoB 25 сен 2014 08:25
Slavik
________________
Ибо инт32=инт, но так же есть типы данных такие как инт16,
инт64, и что если число не целое, а с пл. точкой(ну тут ты сам ответил на свой вопрос, если оно не целое, то оно с плавающей точкой), Read - выводит все в одну строчку(т.е. если до этого что-то было выведено, то одолжится вывод в строчку, что крайне не удобно и не читаемо), ReadLine - с новой строки Write от WriteLine аналогично

Slavik 01 сен 2014 18:58
и забыл еще, вопрос
строка:
eight = Convert.ToInt32(Console.ReadLine());

почему обезательно int32 а не int, и что если число не целое, а с пл. точкой, и чем отличается Read от ReadLine или Write от WriteLine
(если не сложно в двух словах)
и нет у Вас, может книги хорошей по експес2010
зарене спасибо

Slavik 01 сен 2014 18:54
спасибо за урок, правда не сильно понятно про сылки и т.д. (учусь програмировани самостоятельно никогда нестыкался)

и немного сложно, могли бы разказать какие ключевые слова юзать, чтобы елементарную програмку сбацать

oldmanxy 24 авг 2014 16:07
а можно для сравнения самый оптимальный код ? так бы во всех уроках, либо его обозначение со стороны у-ся.

oldmanxy 23 авг 2014 16:04
да, пожалуй основы информатики здесь присутствовать должны, совсем отлично , если прочесть теорию по асм. ....Гдеже столько мозга взять...?!

oldmanxy 23 авг 2014 15:48
спасибо за уроки, хотел сыну дать в учебу{const int sonyears = 12}, но про стэк наврядли поймет, сам когдато читал только в архитектуре проц.intel.

Максим 16 авг 2014 14:31
QQ
---
При использовании double суффикс f (означает float) не нужно указывать

QQ 15 авг 2014 16:46
int a = 2;
double b = 2.2;

vapros takoi, pri premenenie "double" buka ne dolshna primenatza "f". naprimer vo tak "double b = 2.2f;

Максим 15 авг 2014 14:44
Sofya
---
Тип int менее точен, чем double, компилятор предупреждает что вы можете потерять данные

Sofya 13 авг 2014 23:09
Привет! У меня такой вопрос возник.
Вот когда я задаю два числа, один из них int a = 2; , а другой - double b = 2.2; и создаю их сумму double c = a + b; у меня все прекрасно считается и получается 4,2. Однако если я создаю их сумму через int d = a + b; у меня прога выдает ошибку, мол не может double перевести в int - почему так? По идее ведь, у меня просто должно было получится число 4 в ответе, т.е. без десятичной дроби.

int a = 2;
double b = 2.2;


int c = a + b;


Console.WriteLine("c=" + c);


Console.ReadKey();

Максим 07 июл 2014 19:36
den
---
Что ж, следующий урок посвящу вопросу структурных и ссылочных типов

den 07 июл 2014 13:26
чувак, спасибо за уроки!
только они не для чайников и не для начинающих...
например, вот этот отрывок:

"Все типы данных, о которых мы говорили выше, являются структурными. Также существуют ссылочные типы... Типу string соответствует строка символов Unicode..."

б***, что такое "структурными"?! что такое "ссылочные"?! что за "строка символов"?! ну и т.д.

так что буду очень рад если обьяснения будут реально для чайников... то есть, для людей, впервые в жизни столкнувшихся со всеми этими понятиями...

Максим 22 июн 2014 14:26
Somer
---
Переменные могут объявляться в классах (поля) и методах. Глобальными можно считать открытые статические поля класса. Локальные переменные это те, которые объявлены в методах.

Somer 21 июн 2014 07:50
Переменные можно объявлять в любом месте кода? И какие из них будут считаться локальными, а какие глобальными?

Максим 17 июн 2014 15:17
Жека
---
var это не совсем тип. Это ключевое слово, которое указывает на то, что тип переменной будет задан по значению при инициализации.

var array = new int[5];
равнозначно:
int array = new int[5];
В обеих случаях выше мы дальше можем обращаться к array как к массиву.

object array = new int[5];

В случае с object мы уже не сможем иметь доступ к элементам массива. Доступны будут лишь базовые методы типа ToString

Жека 16 июн 2014 16:57
Добрый день. Скажите, а чем отличается тип var от object кроме того, что один структурный, а другой ссылочный? Непонятно просто, зачем object, если есть var к которому быстрее доступ.

aleks 11 июн 2014 14:57
не фига не понятно со второго урока уже пишите проги откуда все это не понятно эти уроки для опытных наверно откуда это все брать

Codefinder 09 май 2014 13:30
Сергей, если нашел ошибку - хорошо. А ответ был в верхнем посте.
const int formula100 = 100;// Вводится постоянная - значение 100
const float formula115 = 1.15f;//Вводится постоянная - значение 1.15
Console.WriteLine("Привет! Эта программа поможет расчитать идеальный вес для мужчин.");//Вступительный текст
Console.WriteLine("Введите, пожалуйста свой рост в сантиметрах и нажмите кнопку Enter.");//Вступительный текст 2
int height = Convert.ToInt32(Console.ReadLine());// Вводится и считывается переменная "а"
int intermediateweight = height - formula100;// рост в сантиметрах – 100
float idealweight = formula115 * intermediateweight;// 1,15 * (рост в сантиметрах – 100)
Console.WriteLine("Ваш идеальный вес" + idealweight + "кг");// Итоговый результат
Console.ReadKey();

Амасгор 26 апр 2014 13:14
Норм, доступно и понятно, огромное Спасибо Автору.)

Андрей 23 апр 2014 16:39
Юрий
--------------------
int dayinmonat;
const int monts = 12;
const int daychetn = 30; const int chetn = 7;
const int daynechetn = 31; const int nechetn = 6;
const int dayfebrwis = 29;
dayinmonat = ((monts - chetn) * daychetn) + ((monts - nechetn )* daynechetn) + (dayfebrwis);

Console.WriteLine("Месяцев в году " + monts);
Console.WriteLine("Дней в году " + dayinmonat);
Console.Read();

Ошибка была у тебя в
const int daychetn = 30; const int chetn = 6;
и
const int daynechetn = 31; const int nechetn = 5;

Андрей 23 апр 2014 16:33
Юрий...

int dayinmonat;
const int monts = 12;
const int daychetn = 30; const int chetn = 7;
const int daynechetn = 31; const int nechetn = 6;
const int dayfebrwis = 29;
dayinmonat = ((monts - chetn) * daychetn) + ((monts - nechetn )* daynechetn) + (dayfebrwis);

Console.WriteLine("Месяцев в году " + monts);
Console.WriteLine("Дней в году " + dayinmonat);
Console.Read();


Ошибка была у тебя в
const int daychetn = 30; const int chetn = 6;
и
const int daynechetn = 31; const int nechetn = 5;

Евгений 11 апр 2014 20:16
извиняюсь за невнимательность.думаю урок 10 развеит мои непонимания.

Евгений 11 апр 2014 19:56
для открытия портов* сори

Евгений 11 апр 2014 19:55
вот например скрип по открытию скриптов


try
{
using System.IO.Ports;
SerialPort sp = new SerialPort();
sp.PortName = ""; //сюда вписываем номер или имя порта
sp.Open();
}
catch(Exception exc) { Console.WriteLine(exc.Message); }

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

Евгений 11 апр 2014 19:51
Да дело в том что уже пробовал.начинал с as3 почитал колин мука , принцип понимаю но вот не как не чего не получается.сейчас решил взяться за юнити,вроде как визуал редактор ,возможностей както побольше.но блин как чтото либо написать на с# меня нервный тик начинает брать,собераю то что мне нужно по запчастям с чужих скриптов, от туда пару строчек от туда так чтото и получается иногда.но вот как самому чтото хочется реализовать нечерта не получается((( я так понял нужен просто хороший педагог,своими силами это очень трудно.

Максим 11 апр 2014 18:22
Евгений
---
Попробуйте книгу по программированию почитать, может лучше пойдет

Евгений 11 апр 2014 14:36
незнаю как для новичков это может быть ростым и лёгким обучением! на втором уроке мозг закипел((

Максим 02 апр 2014 18:51
Рома
----
Console.WriteLine("Vvedit chislo:"); // это вывод информации, а не ввод

Должно было бы быть так:

Console.WriteLine("Vvedit chislo:");
a = Convert.ToInt32(Console.ReadLine());

Рома 02 апр 2014 14:59
double a, b;
a = Console.WriteLine("Vvedit chislo:");
b = (float)Math.Pow(a, 2);
Console.WriteLine(b);
Console.ReadLine();
подскажите что неправильно.

Юрий 22 мар 2014 10:43
Нашел ошибку, где const int nechetn вместо 5 должно быть 7...

Юрий 22 мар 2014 10:22
Дней в году получается 426, не пойму почему...


static void Main(string[] args)
{
int dayinmonat;
const int monts = 12;
const int daychetn = 30; const int chetn = 6;
const int daynechetn = 31; const int nechetn = 5;
const int dayfebrwis = 29;
dayinmonat = ((monts - chetn) * daychetn) + ((monts - nechetn )* daynechetn) + (dayfebrwis);

Console.WriteLine("Месяцев в году " + monts);
Console.WriteLine("Дней в году " + dayinmonat);
Console.Read();

Максим 28 фев 2014 17:44
Aram
---
Нет, какой бы тогда был в ней смысл

Aram 27 фев 2014 21:31
все таки можно ли изменить константную переменную?
заранее спасибо :)

Сергей 19 янв 2014 00:01
Спасибо! Помогло! )))

Максим 18 янв 2014 18:20
Сергей
---
Метод Read() считывает лишь один символ (char), то есть при вводе 170 или 180 в height записывался код символа "1". Необходимо считать всю строку и конвертировать ее в int:
int height = Convert.ToInt32(Console.ReadLine());// Вводится и считывается переменная "а"

Сергей 18 янв 2014 16:30
Здравствуйте! Спасибо за уроки. Доступно и понятно.

Тоже решил потренироваться и написать программу для расчета идеального веса для мужчин по формуле:
(рост в сантиметрах – 100) · 1,15

Вот, что получилось:

const int formula100 = 100;// Вводится постоянная - значение 100
const float formula115 = 1.15f;//Вводится постоянная - значение 1.15
Console.WriteLine("Привет! Эта программа поможет расчитать идеальный вес для мужчин.");//Вступительный текст
Console.WriteLine("Введите, пожалуйста свой рост в сантиметрах и нажмите кнопку Enter.");//Вступительный текст 2
int height = Console.Read();
int intermediateweight = height - formula100;// рост в сантиметрах – 100
float idealweight = formula115 * intermediateweight;// 1,15 * (рост в сантиметрах – 100)
Console.WriteLine("Ваш идеальный вес" + idealweight + "кг");// Итоговый результат
Console.ReadKey();

Однако не считает, всегда выводит значение - 58,65

Помогите, пожалуйста, найти ошибку.

Максим 15 дек 2013 05:42
Ки рилл
---
Минимальное значение очень маленькое, поэтому диапазон записывается в таком виде. Там всё написано нормально

Ки рилл 14 дек 2013 18:42
"double ±5*10-324 до ±1,7*10306 " - в области значения интересует вопрос есть ли тут ошибка (число от которого считаем)?

Максим 07 окт 2013 01:23
Tikitavi
---
Минимальная адресуемая единица памяти - 1 байт. Даже если для хранения данных необходим всего 1 бит - на это выделяется 1 байт.

Андрей
---
ничем не отличаются

Андрей 04 окт 2013 08:33
А int16 оличается от short? int32 от int? int64 от long?

Tikitavi 03 окт 2013 23:12
Опечатка. Тип bool имеет размер 1 бит всё же?

Максим 11 сен 2013 16:06
Всеволод
---
На почту я вам уже отправил решение. Проблема здесь была в методе Read().

Всеволод 10 сен 2013 19:46
Может кто поможет?
int a = 100;
Console.WriteLine("Привет, Введи свой Рост.");// Первое вступительное предложение
int height = Console.Read();// Вводится и считывается переменная "а"
int idealweight = height - a;// Находится идеальный вес (idealweight)
Console.WriteLine("Твой идеальный вес" + idealweight + "кг");// Выписывается идеальный вес (idealweight)
Console.ReadKey();

Максим 28 авг 2013 16:04
Игорь
---
исправил

Игорь 28 авг 2013 06:49
Ошибка в таблице типов данных. ushort в колонке "размер" указано как "Знаковое 16-бит целое", но похоже на беззнаковое 16-бит целое.

Максим 10 авг 2013 12:08
Багдат
----
Вот так:
Console.WriteLine("Ваше значение равно: " + variable);

Багдат 10 авг 2013 10:28
Здравствуйте! Отличная работа! Вопросы здесь задавать?
Можно ли вывести одним методом несколько типов данных на одной строке?
Например как в с++:
cout << "Ваше значение равно: " << variable << endl;

Максим 01 июл 2013 20:05
Илья
---
добавил в статью информацию о ключевом слове var

Илья 25 июн 2013 23:09
а как же тип данных var ?


Добавить комментарий:

Имя (обязат.)
E-mail (обязат., не публикуется)


Для вставки ваших программ пользуйтесь кнопкой "исходный код"
Вёрстка сайта с нуля

Уникальный Видеокурс!

"Научись верстать сайты и заработай на этом!"

Получить видеокурс

Подпишись на курс по программированию, и узнавай первым о новых уроках!

RSS подписка Страничка Вконтакте Мы в Twitter

Ошибка в тексте? Выделите ее мышкой и нажмите Ctrl+Enter
Поблагодарить автора: Номер карты (ПриватБанк)
5168 7572 4170 8660
WebMoney
R372544961915 U685637142028 Z999792764387
Наверх
Система Orphus