71

C# с нуля

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


Данный пост не сделает из вас профессионального программиста, он просто подскажет вам с чего начать.


Для начала вам нужно скачать среду разработки (IDE). Для программирования на java используется android studio, на objective-c xcode, на C# Visual Studio. Скачать Visual Studio вы можете бесплатно по этой ссылке. Скачиваем, устанавливаем, нажимаем кнопку создать новый проект. В появившемся окне ничего не меняем, нажимаем ОК. Дважды кликаем на эту белую зону, чтобы открыть редактор кода. Желательно не просто читать пост, а повторять все действия.

Писать весь код пока что мы будем между двумя скобками, в месте, которое я выделил. Сразу следует запомнить несколько правил:

В конце каждой строки должен стоять знак ;

Каждая кавычка и скобка должна быть закрыта.

Переменные


И начнем мы обучение сразу с переменных. Что такое переменная? Это область памяти в которой хранится какое-то значение.  Сегодня я расскажу только о 4 типах переменных.


Переменная Int может хранить любое (на самом деле нет) число без дробной части.

Переменная string хранит любой текст. Он обязательно должен быть указан в двойных кавычках.

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

И переменная bool может хранить в себе только значения true или false.


Любую строку написанную ниже можно условно разделить на 3 части:

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

Все строки подчеркнуты зеленым, из-за того, что у нас они нигде не используются.

Переменная может быть инициализирована (ей может быть присвоено значение) сразу (как на изображении выше) или уже после ее создания (смотрим ниже).

В первой строчке мы создаем переменную (объявляем ее). Пока что она не несет в себе никакой информации. Во второй и последующих мы меняем ее значения.


Операторы


Арифметические операторы (=  +  -  /  *).


Операторы сравнения (== != < > <= >=).

Чем отличается = от ==? = - это знак присвоения, а == - знак сравнения.

num = 5;

num==5;

В первом случае мы присваиваем переменной num значение 5 (если переменная была равна 40, то теперь она равняется 5), а во втором случае мы проверяем не равна ли переменная num 5 (если до этого она была равна 40, то она и останется такой же).


Условные операторы (if  else)

И сразу пример:

string text;

If (num==2){

text = "Переменная равна 2";

}

else {

text = "Переменная не равна 2";

}


Т.е на русском конструкция с if else имеет вид

Если выполняется (какое-то условие){

то происходит что-то

}

если не выполняется {

то происходит что-то другое

}


Вернемся к операторам сравнения:

== равно

!= не равно

< меньше

> больше


>= больше или равно

Примеры

if(num!=4) если num не равно 4(равно чему угодно кроме 4).

if(num<2) если num меньше 2 (2 уже не подходит).

if(num<=2) если num меньше или равно 2.


Логические операторы (!  ||  &&)


Есть и другие, но они вам пока не нужны.

! это "не"

|| это "или"

&& это "и"

Примеры:

if((num>=2)&&(num<=4)) num будет равен числу от 2 до 4 (выполняются оба условия)

if((num==4)||(num==6)) num равен 4 или 6 (выполняется только одно условие)

Метод


Метод - это кусок кода, который выполняется при его вызове.

На изображении ниже указаны 2 метода. 1 срабатывает при запуске программы, 2 при загрузке программы. Об этом мы можем догадаться из названий. Код пишется внутри метода, т.е внутри фигурных скобок.

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


Сейчас мы сделаем первое приложение - счетчик нажатий (ничего проще я придумать не смог)

Вновь возвращаемся в первую вкладку. Про окно №3 можете забыть, оно вам на первое время не пригодится. Окно 5 разделено на 2 части. Слева названия, справа значения. Нажав на название, мы можем увидеть в окне 6 описание свойства. Если мы хотим запустить наше приложение, нажимаем кнопку 4. Сейчас нужно открыть панель инструментов (2).

Добавляем кнопку (button) и надпись (label) (просто перетягиваем их). В окне свойств находим название этих элементов (название и текст - это не одно и то же (но в нашем случае они совпадают)).  Итак, нам нужно детально продумать, то будет делать наше приложение. Оно должно менять текст надписи на число нажатий по кнопке. Для этого нам нужно как-то обработать нажатие на кнопку. Представим, что мы не знаем, как это сделать. Идем в гугл. Пишем вопрос "c# как обработать нажатие на кнопку", нажимаем на первую же ссылку и...

Дважды наживаем на кнопку и видим, что у нас появился новый метод. Нам нужно получить количество нажатий. Количество - это число, значит нам нужно создать новую переменную int. Если мы ее создадим в методе button1_click, то у нас она будет создаваться каждый раз заново при клике на кнопку. Значит нужно создать переменную за пределами методов (если мы создадим ее в любом другом методе, то она будет доступна только в нем) и сразу присвоить значение 0, потому что при запуске программы, сразу пользователем не будет сделано ни одного клика. При клике на кнопку значение должно увеличиваться на 1, значит этот код нужно написать в методе button1_click, и значение должно сразу выводиться в label1. Как это сделать? Используем гугл. Для вывода текста мы можем использовать только тип переменной string. Но так, как у нас тип int нам нужно его преобразовать. Опять обращаемся к гуглу. Еще раз повторяю , что цель этого поста не обучить вас программированию, а указать вам, с чего начать.

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

Вы смотрите срез комментариев. Показать все
7
Автор поста оценил этот комментарий

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

Советую автору написать такой же курс с примером передачи данных из своей программы в офисные пакеты. Например getobject "Excel.Application";

раскрыть ветку (20)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (19)
4
Автор поста оценил этот комментарий

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

раскрыть ветку (15)
6
Кремлебот/хохлобот
Автор поста оценил этот комментарий

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

раскрыть ветку (12)
2
Автор поста оценил этот комментарий
А потом, через некоторое продолжительное время, внезапно выясняется, что пересланная типа String это объект, со всеми вытекающими. А ты и не знал, думая что она создаётся, как примитивы.
раскрыть ветку (7)
5
Кремлебот/хохлобот
Автор поста оценил этот комментарий

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

В учебниках есть вся необходимая информация - проблема в том, что авторы не умеют ее правильно донести до ученика.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

со временем человек пользуется теми знаниями, которые он уже получил. и выходит ровно так как сказал @Tolstoknijnik,

раскрыть ветку (1)
0
Кремлебот/хохлобот
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий
Или ракеты падают.. из за того, что человек не учел переполнение переменной и получение отрицательного значения ))) Но это ж нудная информация. Главное еод набросать с костылями чтобы работало )
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

На этот случай советую почитать Н. Полищук "САПР на базе AutoCAD". Там правда про AutoLISP, но книжечка довольно-таки жизненная. Больше о жизни нежели о программировании.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
На случай чего? Падения ракеты? Так это старая история(да и очень сокращенно мной описана).
0
Автор поста оценил этот комментарий
И что теперь, вы предлагаете читать унылые книги чтоли? Фии...
0
Автор поста оценил этот комментарий
Если бы пособия были грамотными, вопросов бы не было. А то ж нахватают по верхам, а желания брать в руки книжки для толковых новичков не появляются. И наступает закат карьеры звезды)


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

Автор поста оценил этот комментарий

А еще благодаря вот таким пособиям появляются говнокодеры, а не программисты. Т.к. количество белых пятен в знаниях очень большие, Знания поверхностные и не углубленные.

Да, говна не заметно на каком - то мелком приложении аля калькулятор, но у средних/больших проектах возникает ужас, который потом приходится исправлять.

Иллюстрация к комментарию
раскрыть ветку (2)
3
Кремлебот/хохлобот
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Вы не правы. Пытаясь выучить язык по такому вот изи мануальчику, у вас может сложиться не верное впечатление о базовых понятиях. Автор говорит про ООП язык, при этом в его посте нет ни одного слово про классы и объекты. А ведь int и string это тоже классы, не сказано про конструктор формы, внезапно им оказалась "1 срабатывает при запуске программы". Начинать надо именно с глубокой теории и постараться подать ее просто и понятно.

0
Автор поста оценил этот комментарий

Появился интернет и все начали учиться программировать с помощью форумов, но эпоха интернета подходит к "концу", начинается эпоха пикабу, люди начинают учится с помощью пикабу :D

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Нам в этой области нужны "мартышки", умеющие "программировать мышкой", потому все правильно автор делает!
2
Автор поста оценил этот комментарий
однако книг написано не мало.

И многим гитаристам не мешало бы их почитать. Ибо я не знаю ни одного гитариста знающего нотную грамоту

0
Автор поста оценил этот комментарий

понять не могу, автор первого поста и правду восхищается или это сарказм?

0
Автор поста оценил этот комментарий

А ты ещё кодишь или нет?

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества