C# ФУНКЦИИ И МЕТОДЫ | МЕТОД C# ЧТО ЭТО | ФУНКЦИИ C# ПРИМЕР | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 35
Vložit
- čas přidán 28. 03. 2020
- В этом уроке мы приступим к изучению методов и функций в языке программирования C#, выясним что такое методы и функции в си шарп, для чего они нужны и как их использовать.
✅ ИСХОДНЫЙ КОД УРОКА bit.ly/2JlKpb0
✅ ДОМАШНЕЕ ЗАДАНИЕ bit.ly/2JlQLax
✅Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
✅Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Telegram канал t.me/SergeySimpleCode
Уроки по программированию
✅Наша группа ВК smplcode
✅Подписывайтесь на канал / @simplecodeit
#сишарп #simplecode
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
✅ donatepay.ru/don/SimpleCode
✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
подскажите, принципы работы с API (напр. Autocad .NET API) в дальнейших уроках планируете осветить ?? Очень бы хотелось!
@@nadegify или Unity
Спасибо!
@@nadegify Присоединяюсь, очень интересная тема!
Вы оговорились, в c++ можно вызвать метод, который объявлен и определен ниже вызова. Скорее всего это связано с внешней линковкой методов.
Хах, поступил на компьютерные науки в этом году, у кого не спрашиваю, все говорят: "Я по ютубу учу, там канал есть #SimpleCode", ты ведёшь целое поколение!)
На ютубе лучше чем в университетах, позор один, а не университеты и пустая трата времени, а ещё сил и нервов, если бы туда толпа не валила ради корочки, они бы может задумались о качестве обучения.
@@Witchfinder_General отучился вот почти первый семестр, пока с тобой полностью согласен. Всё, что я выучил по программированию - я выучил самостоятельно, а высшая математика в таком объёме и куча других не особо нужных предметов как бы не были мне сильно важны)
@@mkagaming7925 тоже 1 семестр,ставлю жирный плюс
@@alazarnfreeman9216 Ну нужна больше дискрктная математика как по мне. Не знаю где мне могут пригодится тройные интегралы в программировании
@@alazarnfreeman9216 ну не знаю, что-то я не уверен, что в Дуров знает математику на очень высоком уровне. Хоть и высот, как можно заметить, он добился. Он вообще филологический окончил. Мой университетский препод тоже очень хорошо знает математику, но он преподаватель(можно ли это считать достижением?)
Спасибо Сергей за ваши уроки! Это лучшие уроки, которые можно найти на рунете. Именно благодаря вам, я знаю Си++ и теперь буду знать С#. Огромное вам спасибо!
Как всегда на высоте, жаль что такие уроки мало-популярные.
Самый лучший канал по программированию Жаль только, что уроки выходят так редко.
Нельзя торопить шедевры :-)
хорошего по не многу
а ты стань спонсором,чаще будет
В этом преимущество позднего просмотра уроков - через 2 года. Все уроки уже опубликованы и ждать нет необходимости 😄👍
как успехи через два года?
Чем дальше, тем интереснее. А главное понятно. Смотрится как какой-нибудь сериал)) Спасибо за уроки!!
Сергей как всегда очень полезное и занимательное видео благодаря которому мы все еще на один шаг продвинулись в изучении языка Си шарп, и все это благодаря вам.
ОГРОМНОЕ СПАСИБО ПРОДОЛЖАЙТЕ В ТОМ ЖЕ ДУХЕ!!!
2 домашку за меня сделал ide xD. Только начал метод писать, он сразу понял, что я хочу от него и через таб чуть ли не весь код написал)
Сергей огромное вам спасибо ,что уделяете своё время на создание подобного контента. Вы лучший!
Спасибо Вам за такие чёткие уроки!
Самый топовый канал в обучение начинающих программистов
Мне очень нравится ваш подход. Когда вы объясняете зачем это, почему так работает. Многие вещи наприер static понял только из ваших видео, хотя до этого много смотрел подобных, правда конечно по другим языкам...)
Спасибо! Интересное ДЗ, с удовольствием сделал.
Очень доходчиво, спасибо!
Спасибо что делитесь своим знанием
Не знаю что бы я делал без вашего канала, чуть какой-то вопрос по обучений сразу сюда, и все ответы есть, все понятно и подробно, спасибо!
Первым поблагодарю за очередной выпуск)
Спасибо за урок👏
це одне з кращих пояснень в мережі, дякую
Да. Рвется шаблон после плюсов ). Спасибо за урок Сергей!
Продолжай в том же духе, ты очень классно рассказываешь, всё супер. Главное не унывай никогда и знай, что ты занимаешься реально полезным делом, красавчик!
Сергей, ты - лучший!
Привет всем, предлагаю небольшую практику после того как вы сделаете домашние задания в конце данного урока:
1) Метод с указателем void замените на метод с определенным типом данных и return
2) Метод с return попробуйте заменить на метод с указателем void
Предлагайте свои практические задания, спасибо!
как успехи с програмированием?
@@coutiaraZZ s kaifom
@@coutiaraZZ норм)))
Привет Серж. Урок супер!
новое отличное видео, спасибо!
Благодарю за урок.
Спасибо! Надеюсь, у Вас все хорошо сейчас.
Спасибо за урок!
Что же, великолепное видео где 2-3 дня буду вникать, замечательно, в самом деле
Твои видео вдохновляют изучение c#
да.., если бы уроки выходили почаще!!! Благодарю
Подача материала огонь!!!
Спасибо Вам огромное Сергей) , куда Вы пропали все ли хорошо с Вами? Надеюсь что да. Наверное один из самых луших каналов что я встречал!
спасибо за урок)
Большое спасибо!
Вот и до подпрограмм дошли! Скорее бы ООП! ПРодолжай!
Спасибо!!)
Спасибо большое за видео))
купил подписку на ITVDN и разочаровался. Но нашел Ваш канал и все стало понятно! Спасибо за труд. Ждем больше уроков и кликаем на все рекламы)
very well!
Спасибо, по твоим урокам сделал полноценный калькулятор через консоль)
Благодарю
23:23 - Небольшая ремарка: в классах C++ методы так же могут быть расположены уже после других методов, которые их используют. А в C# абсолютно все функции - это методы, так что логика одна и та же.
Комментарий выражающий благодарность за труд
Спасибо!
Все выполнил). Задачи не сложные но заставляют подумать
Спасибо )
Лучший, хорошо объясняешь
Thanks!!!
Фантастический урок.
Привет ,как у тебя успехи с шарпом? Где были трудности ?просто я новичок ,интересно ..
@@bezmamni_cheat Его не изучал
@@user-sd6wq1dy5i А что тогда комментарии под этими уроками? Или ты забросил смотреть?
@@CultureForCulture Благодаря с++ сделал свой проект.
@@user-sd6wq1dy5i Понял
первое из двух заданий написал вот так: (работает) позже гляну разбор данного дз.
static void String_1()
{
Console.WriteLine("Введите символ");
string a = Console.ReadLine();
Console.WriteLine("кол-во элементов в строке");
int amount = int.Parse(Console.ReadLine());
string[] myArray = new string[amount];
for (int i = 0; i < myArray.Length; i++)
{
myArray[i] = a;
Console.Write(myArray[i] + " ");
}
}
P.S. Спасибо большее за уроки
class Program
{
static void press1() //текст сообещения о вводе
{
Console.Write("Введите какой символ вывести: ");
}
static void press2() //текст сообщения о том, что вводить
{
Console.Write("Введите сколько символов нужно ввести: ");
}
static string What(string Chars, int HowMony) //решение самой задачки
{
return string.Concat(Enumerable.Repeat(Chars, HowMony)); //в данном случае, мы повторяем символ столько раз, сколько задаст юзер
}
static void Result(string result)//результат всего действия
{
Console.Write("Результат вашего вывода: " + result);
}
static void Main(string[] args)
{
press1();
string Chars = Console.ReadLine();
press2();
int HowMony = int.Parse(Console.ReadLine());
string result = What(Chars, HowMony);
Result(result);
}
======
Я так решил, ведь сказано что бы мы делали методы, вот я и сделал)
Приветствую тебя, Сергей! Спасибо за уроки! А уроки по .NET Core будут?
будут
@@SimpleCodeIT 🙂
Спасибо
You are the best teacher. I don't ever saw a teacher like you. Thank you for teaching us about programming
Лучший
чем больше кода тем быстрее идет обучение и логическое мышление улучшатся !
Как же круутооооо!
Доступно :)
Спасибо за ДЗ! =)
Спасибо за урок!) , чувствую дз будет не легким 0.0
Классно объясняешь
Преподы по программированию нервно курят в сторонке... Лучший просто
хороише уроки иголос не напряжный . а \то важно когда просматриваешь видео по несколько раз
Очень интересная тема, мне всегда нравились функции. Как я уже говорил, жаль, что, чтобы стать программистом не хватает просто понять данный материал.
как успехи через год?
@@user-ql6rp7oc8h Как всегда бросил, так как не знаю как дальше развиваться.
@@geshoi а сейчас?
@@shamai1099Думаю я навсегда отказался от идеи стать программистом.
Коммент для продвижения
Спасибо большое за отличный урок.
У меня вопрос, я верно поняла, что методы выполняются только когда их вызываешь, все, кроме метода Main?
верно
Бывают ещё случаи, когда ты явно не вызываешь метод, но он всё равно автоматически вызывается из чужого кода. Чтобы понять, зачем это нужно и как работает - смотри тему про интерфейсы.
Подскажите, пожалуйста, есть ли какой-нибудь задачник нормальный с ответами для практики С#?
да
*Шикарное ДЗ,потратил очень много времени!решил но не так как у вас,но зато понял,смысл функций и методов! вот прям очень рекомендую постараться решить самому!*
ну ок
Дякую
О! Вот это уже сильно. Пока мало что понятно, много новой информации.
Стало понятнее ?))
@@user-lm8py5rb4m конечно, чем дальше смотрю, вижу примеры, как что используется, естественно становится понятнее.
@@artefakt4349 здравствуйте ,объясните пожалуйста. Пересматриваю ,а понять не могу.
@@gafurov_01 Ага, очень... "мутный" урок. Смотрите дальше, все будет понятнее, когда больше примеров появится. Там объясняется, что как передаётся, имена, параметры и тд.
@@artefakt4349 ок,спасибо. В гугле вроде почитал и уже понятней)
когда google не помогает смотрю ваши уроки. Спасибо!
Здравствуйте, а будут уроки по blazor?
Начало видео: Заказчик просит поменять сложение на умножение, нам придется все менять.
Я, который, использовал цикл while и просто изменил один символ: ладно
Спасибо !!!
Дякую тобі, ще раз переглядаю твій плей лист, ну якщо честно то в же 20+ разів )) я навіть законспектував уже всі твої заняття, прикро що на 84 закінчив ех, а там такі теми пішли складні
яку тему ти зараз вивчаєш? цікаво в якому напрямку ти розвиваєшся
Ув. Сергей, а с знаниями, которые вы нам дали в своих уроках про с++ , можно пробовать куда-то втиснуться, хотя-бы работая за хлеб?
как успехи через 2 года?
@@user-ql6rp7oc8h как успехи через
4 месяца?
Пиздец, смотрела другого чувака, нихуя не понимала, зашла сюда а здесь все по полочкам разложено. Спасибо большое!
курсы SkillBox по си шарпу нервно курят в сторонке.=)
изучал Python, решил ознакомиться с C#, все сказано понятно, доходчиво, спасибо
Привет ,как у тебя успехи с шарпом? Где были трудности ?просто я новичок ,интересно !
@@bezmamni_cheat привет, знаешь, вполне не плохо, сейчас изучаю Unity по курсу от Яндекс игр (он в открытом доступе на Ютубе).
Насчёт трудностей, самая большая проблема что надо все время практиковаться иначе мелкие подробности забываются
PS: напиши ещё раз если нужна ссылка на курс по Unity
@@ruslanh8106 привет, ты ответил комментатору выше, что нужно постоянно практиковаться, что бы не забывались мелочи. А где ты находишь задания для практики "мелочей"? Все основные сайты с задачами для программиста сложные и требуют знаний выше чем мои
@@user-sd7on8oc4v привет, если честно, то на самом деле сейчас я почти не практикуюсь (только немного в Unity, там язык C#). Не мало зависит от того какой у тебя уровень. Лучше всего практиковаться при создании какого либо проекта (или если проще сказать какой-нибудь игры, сайта, winform приложения, смотря какое направление тебя интересует), это может быть достаточно сложно, поэтому скорее всего тебе придется поработать с интернет ресурсами. Если ты пока только изучаешь азы, то советую смотреть этот плейлист, Сергей доходчиво объясняет
@@user-sd7on8oc4v напиши себе программу для самого же себя!
я вот сделал себе сортировщик файлов по папкам по их расширениям, попутно отработав все микромоменты. конечно, приходилось гуглить, как что работает, но а как иначе?
подумай, какой процесс ты бы хотел автоматизировать, как бы ты это сделал, а потом уже пробуй реализовать
о такой кобинации как cw+tab надо было еще в само начале написать )), как нудно было писать эту команду по 10 раз за урок, только в этом уроке заметил что ее можно так использовать
Привет, продолжаешь учить данное направление или уже нет? Если да, то как успехи?
@@shidih мне c# возможно понадобится по работе, поэтому продолжаю учить. По опыту изучения других языков: буду проходить несколько видео курсов подряд, каждый видеокурс учит чему-то новому и закрепляет то что уже знаешь, и параллельно читать книгу и проходить какой нибудь курс на степике или coursere для получения опыта в решениии простых задач (для практики и закрепления синтаксиса языка).
@@Sergey-cz7ymПонял, но как по мне учить сразу несколько курсов не очень идея, считаю что лучше сконцентрироваться на одном, а после переходить на другое
А вопросик появился, а как понять какая функция (метод) будет выполняться первым?
Смотря что ты вызовешь первым, то есть по порядку будут выполняться.
Решение второй задачи с заполнением массива случайными числами, выводом массива и поиском по массиву, а также вывод сообщения, если не найден элемент:
class Program
{
static int IndexOfValue(int[] myArray, int value)
{
for (int i = 0; i < myArray.Length; i++)
{
if (myArray[i] == value)
{
return i;
}
}
return -1;
}
static void Main(string[] args)
{
Console.WriteLine("Введите размер массива:");
int arrayLength = int.Parse(Console.ReadLine());
int[] myArray = new int[arrayLength];
Random random = new Random();
for (int i = 0; i < myArray.Length; i++)
{
myArray[i] = random.Next(99);
}
for (int j = 0; j < myArray.Length; j++)
{
Console.Write(myArray[j]+" ");
}
Console.WriteLine();
Console.WriteLine("Введите число для поиска:");
int value = int.Parse(Console.ReadLine());
if (IndexOfValue(myArray, value) != -1)
{
Console.WriteLine("Индекс числа " + value + " - " + IndexOfValue(myArray, value));
}
else
{
Console.WriteLine("Число не найдено!");
}
}
}
1) Символы
sing System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
words();
}
static void words ()
{
Console.WriteLine("Enter word type: ");
string wordType = Console.ReadLine();
Console.WriteLine("Enter word count: ");
int wordCount = int.Parse(Console.ReadLine());
for (int i = wordCount; i 0; i--)
{
Console.Write(wordType);
}
Console.ReadLine();
}
}
}
2) Индекс элемента
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Find();
}
static void Find ()
{
Console.WriteLine("Enter value to find: ");
int valueToFind = int.Parse(Console.ReadLine());
int[] array = new int[] { 1, 7, 8, 5, 4, 3, 6, 2, 9};
Console.WriteLine("Element index is " + Array.IndexOf(array, valueToFind));
Console.ReadLine();
}
}
}
Интересно, а здесь существуют вообще комментарии, в которых не пишут Сергею спасибо?
Не, я не встречал. Сергею спасибо.
Могу засунуть в метод формирование и заполнение целого массива? И когда мне нужен опять этот чистый массив, чтобы опять производить действия над ним, прост вызвать метод?
В принципе,можно формирование массива запихать в метод. Но если "мне нужен опять этот чистый массив", то что мешает просто вызвать напрямую что-то типа arr = new int[40] ? Оператор new как раз создает тебе новый чистый массив без всяких лишних методов.
@@-unity- спасибо) Счастья тебе!
То есть методы можно обьявлять внутри методов?
главное что бы все это было внутри класса
Можно объявлять и методы внутри методов, если очень сильно хочется. Правда, там есть свои тонкости. А вообще сейчас такая практика уже заставляет задуматься: а не поганый ли код я пишу?
Тем не менее, я тоже использую методы внутри методов, если ставится задача "не выносить сор из избы". Но делаю это крайне редко. В последнем проекте у меня несколько сотен функций и лишь одна внутри себя имеет другие функции.
Прошу прощения за глупый вопрос. Во всех учебниках написано, что класс (который не статический) это что-то вроде шаблона на основании которого создаются объекты. У нас есть класс Programm (метод Main которого каждый раз программа и запускает). Он же не статический, кто и когда создает объект этого класса?
Среда исполнения.
ответьте пожалуйста как понять параметры писать не обязательно? в таком случае этот код без параметров написать возможно?
С точки зрения логики работы функции ты пишешь в ней те параметры, которые нужны для её работы. Например, функция вычисления синуса. Понятно, что пока ты не передашь в неё в качестве параметра угол, она не выдаст тебе результат. В этом случае параметр просто необходим. Но вот с точки зрения синтаксиса языка у нас параметра может и не быть. Например, если твоя логика работы не требует параметра, то и не надо его передавать. Синтаксис это допускает.
+
Уже раз 5 видео посмотрел, объясните плиз отличие return и void
void - говорит о том что метод не возвращает никакое значение. Такие методы обычно выполняют какое то действие.
В таких методах ключевое слово "return" - неуместно. Т.к мы не возвращаем никакое значение.
Например функция Сonsole.WriteLine() - Метод WriteLine типа "void" , оно не возвращает значение, а выводит на консоль переданный параметр.
Так же и не обязательно передавать ему входные параметры, в таком случае будет пустая строка.
Метод(функция) у которой тип возвращаемого значения не void, а например int, double и тд. Когда мы указываем тип возвращаемых данных.
Значит он обязательно должен вернуть этот тип данных.
static int ReturnMethod(int a, int b){
int c = 0;
c = a + b;
return c; // Возвращаем значение типа int
}
@hurka скинь свой тг, я тебе напишу попробую обьяснить
@hurka не совсем
Отличие return и void:
void - это название типа, служит для ОПИСАНИЯ. Используется только в строке, когда происходит объявление функции.
return - это оператор, он ИСПОЛНЯЕТСЯ. Когда выполнение кода доходит до этого оператора, происходит выход из функции. Кстати, внутри функции может быть множество операторов return, если там разветвлённая логика .
Объясните, как он вызывает маленькие иконки со значениями, которые передаются или изменяются, а то у меня в VS этого нет(
Наконец-то понял почему функции методами обзывают... А ведь на поверхности лежало...
А где видос на эту ДЗ?
Как я люблю сказочников в комментах,который копируют код с левых сайтов,и кидают его с командами которые мы на курсах даже не видели,вопрос зачем?
Ааа сложно мой мозг трепещет)
АААААААААААААААААА
На память
class program
{
static int FindIndex(int[] a,int b)
{
for (int i = 0; i < a.Length; i++) {
if (a[i] == b)
return i;
}
return -1;
}
static void Main(String[] args)
{
int x = 0;
try
{
Console.Write("Кол-во элементов в массиве: ");
x = int.Parse(Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("Не удалось считать значение!");
Console.ReadLine();
Environment.Exit(1);
}
int[] a = new int[x];
for (int i = 0; i < x; i++)
{
try
{
Console.Write($"Введите значение {i+1} элемента массива: ") ;
a[i] = int.Parse(Console.ReadLine());
}
catch (Exception) {
Console.WriteLine("Не удалось считать значение!");
Console.ReadLine();
Environment.Exit(1);
}
}
int c = 0;
try
{
Console.Write("Индекс какого значения элемента массива вы хотите найти: ");
c = int.Parse(Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("Не удалось считать значение!");
Console.ReadLine();
Environment.Exit(1);
}
Console.WriteLine($"Индекс первого найденного элемента массива с данным значением = {FindIndex(a, c)}");
Console.ReadLine();
}
}
class program {
static void str() {
int x = 0;
string strin = "";
char a = ' ';
try
{
Console.Write("Введите количество символов: ");
x = int.Parse(Console.ReadLine());
Console.Write($"Введите символ: ");
a = char.Parse(Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("Не удалось считать значение!");
Console.ReadLine();
System.Environment.Exit(1);
}
for (int i = 0; i < x; i++)
{
strin += a;
}
Console.WriteLine($"Итоговая строка:{strin}");
}
static void Main(String[] args) {
str();
Console.ReadLine();
}
}
sps