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
Hey 08 фев 2018 18:32
Хей! Не мог бы ты очистить комментарии от рекламы?

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

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 ?


Войдите, или зарегистрируйтесь, чтобы оставить комментарий
Вёрстка сайта с нуля

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

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

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

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

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

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