PDA

Просмотр полной версии : [Статья] Уроки C#. Урок 1. Переменные.


Guch
07.12.2012, 11:11
Предисловие
Почитал я ветку форума посвященную C# и понял, что многие не знают элементарных вещей в программировании. Поэтому я решил написать серию уроков, которая, я надеюсь, поможет получить основу знаний в программировании. Писать свои урони я буду без лишней воды и рассказывать только о тех вещах которые действительно нужны. Уроки я буду писать в консольных приложениях, думаю если у вас уже установлено Visual Studio, вы должны знать что это такое.



И так начнем. Для начала нам нужно знать немного теории
В .NET есть несколько типов переменных, но на самом деле нам будет достаточно трех:
1.integer - это переменные обозначающие целые числа.
2.string - эти переменные обозначают текст.
3.bool - это переменные которые могут всего два значения true и false.

Ну вот с теорией мы закончили преходим к практике.

Для того что бы использоать переменную ее нужно сначала объявить.
string str; //Переменная типа string с именем str
int i = 3, u; //integer переменные i со значением 1 и u без значения.
bool b = false; //bool переменная cо знвчением false

Переходим к использованию переменных
Начнем с первой. Так как мы не присвоили ей значение.
Чтобы изменить это нужно присвоить ей значение.
str = "Привет, мир!";
так же переменной можно присвоить значение другой переменной.
string str = "Привет, мир!", str1;
str1 = str;
Console.WriteLine(str1)// Это оператор для вывода строки в консоли;
Console.ReadKey();// Это своеобразный тормоз, что бы консоль не закрылась после выполнения кода, а ждала пока вы нажмете любую клавишу.


Результат:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

string переменные можно обеденить в одну
string str = "Привет", str1 = "мир!";
Console.WriteLine(str);
Console.WriteLine(str1);
Console.WriteLine("{0}, {1}", str, str1);
Console.ReadKey();

или вот так (я лично привык делать именно так, но по сути разницы нет никакой):
string str = "Привет", str1 = "мир!";
Console.WriteLine(str);
Console.WriteLine(str1);
Console.WriteLine(str+", "+str1);
Console.ReadKey();


Результат будет один:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Со string переменными мы закончили, переходим к integer.

И так мы уже обозначили 2 переменные:
int i = 3, u; //integer переменные i со значением 1 и u без значения.

Так как int переменные это целые числа с ними можно выполнять арифметические действия, например
u = i + 5;
Console.WriteLine(u.ToString());
Console.ReadKey();

Угадайте какой будет результат?:d
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Как вы могли заметить для вывода результата я добавил к имени переменной .ToString(). Это нужно потому что оператор Console.WriteLine() может работать только со string переменными, а это конвертер который превращает цыфру в текст.

Так же можно складывать две разные переменные.
int a = 72;
u = i + a;
Console.WriteLine(u.ToString());
Console.ReadKey();

Думаю вы уже поняли какой будет результат:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Ну и на последок вот вам код небольшого "калькулятора", который умеет только складывать.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
string str = "Введите значение a", str1 = "Введите значение b", str2 = "Ответ:";
int a, b, c;

Console.WriteLine(str);
a = Convert.ToInt16(Console.ReadLine()); //Чтение строки и конвертирование ее в integer

Console.WriteLine(str1);
b = Convert.ToInt16(Console.ReadLine());
c = a + b;
Console.WriteLine(str2+c.ToString());
Console.ReadKey();


}
}
}

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

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

-Emp-
07.12.2012, 11:21
1.intager

Прошу прощения, не intager, а integer.

Sinyss
07.12.2012, 11:33
Лучше бы про ссылочные типы написал, как раз с ними у многих проблемы. И про статические методы надо не забыть упомянуть...

Guch
07.12.2012, 14:02
Лучше бы про ссылочные типы написал, как раз с ними у многих проблемы. И про статические методы надо не забыть упомянуть...
Может быть когда нибудь и напишу, я пишу для тех кто совсем ничего не понимает в программировании (коих много). И почему бы тебе самому не написать?

Sinyss
07.12.2012, 14:10
Может быть когда нибудь и напишу, я пишу для тех кто совсем ничего не понимает в программировании (коих много). И почему бы тебе самому не написать?
Те кто ничего не понимают в программировании и дальше будут ныть что бы им написали код который просто можно вставить...

Yukikaze
07.12.2012, 19:33
Как вы могли заметить для вывода результата я добавил к имени переменной .ToString(). Это нужно потому что оператор Console.WriteLine() может работать только со string переменными
Немного не так, у этого метода множество перегрузок, но в конечном счете он сам вызовет ToString внутри себя.
Пример с кастом в строку нужно было показывать на примере форм и текстовых полей, а то там вообще Convert.ToString'ом пользуются

Sinyss
07.12.2012, 21:20
Пример с кастом в строку нужно было показывать на примере форм и текстовых полей, а то там вообще Convert.ToString'ом пользуются
Я не думаю что тем уже что либо может помочь...

extmdrago
08.12.2012, 12:07
Как вы писали эту статью, если даже тип integer правильно написать не можете.

Sinyss
08.12.2012, 15:32
Как вы писали эту статью, если даже тип integer правильно написать не можете.
Потому что в реальной жизни его никто и не пишет полностью...

подлый вопрос автору статьи, если мы пишем:
int a = 5;
Какой тип у переменной "a" ?

Guch
08.12.2012, 17:33
Ну извините за мою ошибку. На самом деле я впервые в жизни написал слово integer во время написания этой статьи. Да и особого смысла это не меняет, все равно используются только первые 3 буквы.

VeTaL_UA
09.12.2012, 19:02
int a = 5;
Какой тип у переменной "a" ?
если типы сохранились от С++, то могу предположить, что long :)

Sinyss
09.12.2012, 19:24
если типы сохранились от С++, то могу предположить, что long
Нет =)
от C++ остались только части синтаксиса =)