Уроки C# (C sharp) | #17 - Аксессоры get и set
Vložit
- čas přidán 25. 05. 2016
- В этом уроке мы выучим что такое свойства в языке C#, а также как работать с аксессорами get и set.
✔ Основной сайт: itproger.com/
✔ -------------
Группа Вк - prog_life
Группа FaceBook - goo.gl/XW0aaP
Я в Google+ - goo.gl/Tqt9W0
Страничка Twitter - / goshadudar
Страничка Вк - codi999
✔ Начните зарабатывать на CZcams - join.air.io/money_air
✔ Видео по заработку на CZcams - goo.gl/RLPXV8
Помощь в развитии канала.
* Яндекс Деньги: 410014343706921
* Кошельки WebMoney:
- Доллар: Z331064341236
- Гривна: U386388718252
- Рубль: R214610220703 - Zábava
Огромное спасибо за уроки. Все просто и понятно. Продолжай)
Начиная с C# 7.0 можно использовать такой способ записи:
get => course;
set => course = value;
Ну, конечно, если с проверкой в акссесоре set, то такой способ "set => course = value;" - не прокатит, нужно будет создавать тело акссесора. Но все же это упрощает код в некоторых случаях =)
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
Спасибо 😊
Спасибо большое
Огромное спасибо! Понял, что такое аксессоры и что такое автоматические свойства.
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
Почему get and Set в непонятных строчках,я не понимаю,пересмотрел видео 3 раза,а Так спасибо за видеоурок.
Я наконец-то разобрался что такое свойство. Всё ещё не понимаю, как мне его использовать кроме как защитить мои игры от хакеров, но потом разберусь. Большое спасибо
13:48, Гоша, подключи зарядку!)
Видео длиться всего 13:40...
Еще ассесоры могут записываться в интерфейсах и реализовываться в классах, их, интерфейсы, использующих. Очень удобно.
Благодарю за курс!
Оставь больше времени для паузы в конце видео чтоб слушатели успевали лайкнуть перед тем как видео переключиться .
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ
Решила поискать дополнительную информацию в интернете и наткнулась на..... статью с точно таким же примером от 2013 года. И остальные статьи по темам такие же, и даже порядок тем почти такой же. Зачёт, чо.
можно статью?
mycsharp.ru/post/27/2013_07_12_svojstva_v_si-sharp_avtomaticheskie_svojstva_aksessory_get_i_set.html - можно просто гугленуть название этого урока. Следующий урок наследование, как и тут. И т.д. Только некоторых тем тут нету.
На самом деле плевать, я нашел эти уроки первыми и они мне помогают.
Контент всюду копируют, но я просто удивился слегка.
Как я понял они нужны для изменения и проверки данных входящих или исходящих. Удобно
спасибо большое
я не исполmзовал PrintAll(); я просто написал count++;
Print();
и все так же получилосm а с принт алл выдавал ошибку. можете объяснитm почему так?
тоже заметил что за фигня потом увидел что он снизу своего кода написал метод с именем PrintAll() посмотри внимательней на код
А как при
public int A { get; set;}
программа поймет в какое поле записать value?
Например
class w{
private int a:
private int b:
public int c { get; set;}
}
w.c = 100;
Куда уйдет значение?
уйдёт в с
В свойства тоже можно передавать значения, если ты не знал
Очень долго искал видео по аксесорах и не мог найти нормальное но твое суер!)
Если я хочу из статичного метода Main передать значение в другой класс, мне тоже самое использовать?
Так же оспариваю мнение по поводу первого урока на тему, что вы говорите не нужно изучать с++ перед C#. Я считаю что динамические структуры данных а именно их изучение и ооп на с++ даст полное понимание всего ооп в С#. В языке C# пользуются хорошим спросом списки деревья очереди и не зная как оно работает и что это не приведет не к чему хорошему.
Есть один вопрос , вот мы передали на Course(big C) число от класса Main. Но там нигде не указано что это число будет присвоено на course(little c) .
Алиби Малик , вопрос уже неактуален. Но отвечу: это автоматическое свойство не требует отдельно переменной. И вообще компилятор видит Course и course как разные имена!!!
Просто локальная переменная кот исп внутри метода
Ахах стипуха и Олександр, респект)
считается ли нормальным порождать исключения в Set{ ... } при попытке присвоить "невалидное" значение ?
сижу такой пишу на стипендию stipuxa, потом смотрю у него в видосике stipuha, в этот момент я понимаю что все программисты думают одинокого :D
Открою страшную тайну...Он не умеет программировать на C# как таковой. Теорию знает лучше человек который хоть месяц поучит C#
Для тех,кто не понял последнюю часть видео про {get;set;} и т.д
да,автор допустил ошибку,или не досказал,но у некоторых создалось впечатление,что запись public int Course {get;set;} присвоит значение для private int course.это не так.по сути это отдельное поле,которое не используется в конструкторе,и которое мы создали сами,ввели в него значение в объекте Alex и вывели это значение на экран.для того,что бы Course присваивал значение для course необходимо использовать такую запись : public int Course{get=>course;set=>course=value;}. благодаря такой записи,мы указываем,что при считывании мы берем параметр из course,и при записи мы так же записываем параметр в cource.вроде всё доступно изложил.если в чем то ошибся-поправьте меня,кто более прошаренный)
Спасибо.
Не освсем понял, но как буду практиковатся - поэксперементирую с этим
@@Merocekanim первая буква в одном заглавная,а в другом строчная. в коде шрифт играет роль. и С (большая) и с (малая) это абсолютно разные буквы.
получается int c = 0 и int C = 1 это абсолютно разные переменные,которые имеют,в данном случае,разное значение.но могут иметь и одинаковое.
Спасибо за уточнение)
При автоматических get,set значение поля course не изменилось
было 2 так и осталось 2. А 6 в другом месте. Это как понять?
Вот и я тоже не понял. По сути мы создали новую переменную, которая никак не относится к курсу студента.
Так и не понял какую смысловую нагрузку несут эти аксессоры, кроме как захламление синтаксиса. Почему бы просто не использовать привычные методы ? : /
Аксессоры нужны либо что бы сделать проверку, либо для ограничения чтения или записи только в классе(или можно использовать другие модификаторы доступа)
раньше использовали методы getValue()/setValue()
свойства добавили для того, что бы когда вы работаете c УЖЕ Разработанным сервисом, код выглядел лаконичней.
В качестве примера:
Не нужно писать object.GetValue(), достаточно object.Field.
Такую форму записи удобно использовать при объединении нескольких проверок в if(obj.field1 == 5 || obj.field2 != 5)
Раньше бы пришлось: if(obj.getField1() == 5 || obj.getField2() != 5)
В дополнении советую почитать ClearCode, оно того стоит ;)
Вот именно. Сейчас на 3 курсе изучаем шарпы, и у меня просто горит от этих get и set.
Удобство, компактность, безопасность, функциональность.
Это просто синтаксический сахар, в java допустим такого нет
Подскажите пожалуйста как сделать разных два рандомных генератора чисел .У меня у двух рандомных переменных получается одно и тоже значение
ты узнал ответ, как это сделать?
А если у нас есть два поля (private int course, private int age). Куда будет записываться переменная "10" если мы напишем public int Course {get; set;} в course или age?
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!!
Странно, меняю уровень защиты переменных в классе Student на private - ничего не меняется. Только если попытаться вывести на консоль значение переменной из Class Program пишет: "недоступен из-за его уровня защиты".
запись типа :public int Age { get; set; } в данном случае бессмысленна так как меняет и читает значение Age,
и не имеет никакого отношения к полю age.
Я пару часов думал над этим же вопросом, пока не увидел ваш комментарий
Ты про заполнители слышал? За чем писать + Когда можно сделать так: ConsoleWriteLine(""blabla {0}", переменная)
course, course, course :))
а подскажите, в чем разница между публичным полем и записью с { get; set; } ?
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ
Попробовал get сделать public, а set - private. Так VS2017 ругается на такой код. Говорит, оба эти оператора должны иметь более защищённый доступ, чем сам Course.
Т.е. если Course у нас public, то get/set оба должны быть private или protected.
почему, когда я пишу "set {", то мне пишет "исключение не обработано"? При этом ошибок пишет 0..
Может удобнее просто модификатор доступа изменить на public?
teach me, как можно выдрать значения из метода? Мне необходимо в get записать только то, что выдает Console.WriteLine();
public void Probel()
//подсчитать количество пробелов в строке;
{
str = x.ToString();
string[] y = x.Split(' ');
Console.WriteLine(y.Length-1);
Сделай метод не void а int, в конце не выводи на консоль, а запиши в переменную, к примеру int z = y.Length-1
и в конце допиши строку return z;
примерно вот так должно быть:
public static int Probel(string str)
//подсчитать количество пробелов в строке;
{
string[] y = str.Split(' ');
int z = (y.Length - 1);
return z;
}
а когда вызываешь метод: Console.WriteLine(Probel("one two three four five"));
Ну и зачем тогда нужно приватное поле course в конце? Как вообще наше свойство Course узнает о том, что записывать или считывать нужно с поля course? Получается никак, и приватное поле course не нужно вовсе? То есть конструкция вида "public int Course { get; set;}" создает якобы приватное поле, и сразу вдобавок два метода доступа к нему? Это какой-то синтаксический мусор.
Ага бредятина какая -то, никак не могу понять зачем все это нужно.
Да вы правы автор запутался , конструкция вида "public int Course { get; set;}" создает сама поле но мы его не видем
Я сделал что бы данные студента (Имя, класс, степуха) вводились с клавиатуры и если средний бал больше 6, то степуха есть, если ниже, то степухи нет.
Спасибо за урок
Тоже так делал)
Я уже по разному делал, как только не пробовал - изгаляюсь как могу, чтобы прочувствовать все эти темы =)
А у меня из задания домашнего поля не private, a public. Тоже работает все, но я хотел бы узнать принципиальную разницу. Памяти меньше жрет private или как?
Это чтобы ты не путался с тем, расчитана ли твоя программа на то, чтобы это поле менялось извне. Если, допустим, у тебя есть какое-то поле с внутренней логикой, но его нельзя менять извне, иначе программа сломается, то используем приватное поле. Считается хорошим тоном сразу делать поле приватным, а не публичным, если ты не расчитываешь менять его извне, чтобы не путаться
1:11 А почему во втором конструкторе обращение к полям ведётся через this, а в первом напрямую?
Может уже поздно, но это потому что возникает конфликт названий полей - тех, которые передаются, как аргументы конструктора и тех, которые являются полями самого класса. Слово "This" дает понять программе, что мы обращается к переменной самого класса, а не к переменной, которая передается в качестве аргумента конструктора
как я понял что public к bool не обязательно писать
Значит, получается, если использовать аксессоры, можно обычные поля не объявлять? То есть уже не нужна вообще вот эта строка "private int course;", ВМЕСТО нее пишем "public int Course {get; set;}"? Я имею в виду, не нужно же объявлять предварительно обычное поле, чтобы потом объявить аксессоры? В данном случае coure и Course никак не связаны же?
я тоже переменную стипуха называл)
так как все ровно все будет работать
Прочитал стипуха, орнул минут на 10. Только кофе пролил пока орал...
Я тож стипуха написал))))))
у меня получилось так
Каким образом компилятор понимает, что Course и course взаимосвязаны?
Они не взаимосвязанны. Вместо Course можно использовать любое другое имя.
Зачем использовать для полей модификатор private, если они по умолчанию - private!?
Можно просто записать :
string name;
int course;
bool stepuha;
Для наглядности
@Andrew Krivalcevich Не совсем,он сам в прошлом(не помню каком) говорил об этом.То что по умолчанию стоит private.
PrintAll() ; имя PrintAll не существует в текущем контексте.
Почему в видео существует, а у меня не существует. И красным подчеркнуто. Типа ошибка
потому что, он создал такой метод у него там внутри- console.writeln();
внимательнее видос надо смотреть
Никак не могу въехать какой смысл в такой записи?
"public int Curse { get; set; }"
я вообще попробовал поигратся с такими записями, и пришел к выводу, что лучше и менее ошибочно будет первый вариант с телом акссесора и тд.
Задел на будущее если нужно будет реализовать проверку значений, а так и поле и аксессоры должны одинаково называться, с учётом регистра
@@user-xd3we2qp4i в чем лучше? Как ты поигрался, скопировал, вставил?
@@maxumka548 посмотрите на дату коммента...
@@user-xd3we2qp4i с c#9 свойства не трогали, так что снова вопрос чем лучше? И как ты поигрался?
Я смотрю это в 8 лет и мне норм.
Какой смысл в создании Course, если private course в итоге не будет использоваться, кроме как в первом конструкторе? По сути мы сделали то же самое, что если бы сразу сделали course публичным. Не понимаю, какую роль здесь играет автоматический аксессор...
The results of 3 student of this year
First student result
Name: Yerzhan
Course: 3
Appraisal: 5,2
The second student result
Name: George
Course: 1
Appraisal: 3,1
And the third student result
Name: Alex
Course: 2
Appraisal: 5
Огромное спасибо за ролик! ни хрена не понял, но очень интересно! С 8:40 , "если бы мы все же написали public......" можно поподробнее, какие именно проверки нам нужно было бы постоянно проходить, которые мы не проходим с private?
Name, course, stipuha - ахахахаха))))
Эта переменная запривачена:
Get и Set: но не для нас
Хм
У меня короче беда такая
PrintAll выдаёт ошибку проверял код строку за строкой, ладно это не беда я его просто вырезал и заместо принят Ал поставил
Public Student (string name, int curs, и т. Д
После ниже у вас
This. Name=name
А я сразу
Console. WriteLine ("name:" + name) ;
Далее уже класс маин класс{
Публик статик void main(string
Я хз че написал но работает как то))
Подскажите в чем ошибка?
class Studenty{
private string name;
private bool stependia;
private int age;
private float MidleMark;
private string course;
public Studenty () {
name = "Vasili";
age = 19;
MidleMark = 4.7f;
course = "third";
stependia = true;
Print ();
}
public void Print() {
Console.WriteLine ("Name: " + name);
Console.WriteLine ("Age: " + age);
Console.WriteLine ("Midle Mark: " + MidleMark);
Console.WriteLine ("Course: " + course);
Console.WriteLine ("He has got a grants: " + stependia);
}
public Studenty (string name, int age, float MidleMark, string course, bool stependia){
this.name = name;
this.age = age;
this.MidleMark = MidleMark;
this.course = course;
this.stependia = stependia;
Print ();
}
}
}
class MainClass
{
public static void Main (string[] args){
Studenty first = new Studenty ();
Console.WriteLine ();
Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);
Console.ReadKey();
}
}
перед "class MainClass" убери фигурную скобку
Ты дурак?!
Зачем?!
Он не распознает эти строки: "Studenty first = new Studenty ();
Console.WriteLine ();
Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);"
во первых дурак это ты, во вторых, у тебя фигурные скобки не правильно расставлены, убери 1 фигурную скобку перед "class MainClass" ну а если ты совсем тупой, вот твой отредактированный код, все работает... не за что...
class Studenty
{
private string name;
private bool stependia;
private int age;
private float MidleMark;
private string course;
public Studenty()
{
name = "Vasili";
age = 19;
MidleMark = 4.7f;
course = "third";
stependia = true;
Print();
}
public void Print()
{
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Midle Mark: " + MidleMark);
Console.WriteLine("Course: " + course);
Console.WriteLine("He has got a grants: " + stependia);
}
public Studenty(string name, int age, float MidleMark, string course, bool stependia)
{
this.name = name;
this.age = age;
this.MidleMark = MidleMark;
this.course = course;
this.stependia = stependia;
Print();
}
}
class MainClass
{
public static void Main(string[] args)
{
Studenty first = new Studenty();
Console.WriteLine();
Studenty second = new Studenty("Dima", 18, 3.4f, "first", false);
Console.ReadKey();
}
}
}
using System;
namespace test {
class Studenty{
private string name;
private bool stependia;
private int age;
private float MidleMark;
private string course;
public Studenty () {
name = "Vasili";
age = 19;
MidleMark = 4.7f;
course = "third";
stependia = true;
Print ();
}
public void Print() {
Console.WriteLine ("Name: " + name);
Console.WriteLine ("Age: " + age);
Console.WriteLine ("Midle Mark: " + MidleMark);
Console.WriteLine ("Course: " + course);
Console.WriteLine ("He has got a grants: " + stependia);
}
public Studenty (string name, int age, float MidleMark, string course, bool stependia){
this.name = name;
this.age = age;
this.MidleMark = MidleMark;
this.course = course;
this.stependia = stependia;
Print ();
}
}
class MainClass
{
public static void Main (string[] args){
Studenty first = new Studenty ();
Console.WriteLine ();
Studenty second = new Studenty ("Dima", 18, 3.4f, "first", false);
Console.ReadKey();
}
}
}
Держи, всё работает, ты пару ненужных скобок написал)
string name = "";
при создании строк надо им что-то присвоить!
Зачем делать set или get с модификатором доступа privete, если можно вместо этого просто не писать ненужное?
А как ты хочешь сделать ограничение только записи например только в классе?
Artem Artem Ну хз, наверное, чтобы не запутаться, а то присвоил случайно какое то значение, которое не надо было
Я сделал всё как в уроке, не работает
Олександр
это инкапсуляция. стате, пивет из 2019го
не мог по больше растянуть окно??
*СТИПУХА!*
GOD JESUS TOLD US TO LOVE GOD AND TO LOVE ONE ANOTHER! LET'S NOT DESTROY THIS WORLD! NO WAR!!! БОГ СОЗДАЛ ТАКОЙ ПРЕКРАСНЫЙ МИР! НЕ БУДЕМ РАЗРУШАТЬ МИР! ПОЛЮБИМ БОГА И ВСЕХ ЛЮДЕЙ! НЕТ ВОЙНЕ!
Олександр...
можно же без set записать, просто if and else.
@MoreAllFag -_-
Нет
Oleksandr, lol)
Вероятней всего он из Украины, в Украине просто это имя пишется "Олександр".
class Student
{
public bool pass;
public string name;
public int age;
public int course;
public Student()
{
name = "Tom";
age = 19;
course = 4;
pass = true;
Print();
}
public Student(string name, int age, int course,bool pass)
{
this.name = name;
this.age = age;
this.course = course;
this.pass = pass;
Print();
}
public void Print()
{
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Course: " + course);
Console.WriteLine("Pass: " + pass);
}
}
class MainClass
{
public static void Main(string[] args)
{
Student X = new Student();
Console.WriteLine();
Student Z = new Student("Harry", 23, 3, false);
Console.WriteLine();
Student O = new Student("Nastya", 22, 4, true);
Console.ReadKey();
И при всем при этом первый класс студент говорит не используется. Жёлтые значки
Да уж, из-за проверки входных значений/свойств такой огород городить, как то это надуманно
Сделал дз, но почему то при компиляции у остальных студентов не меняется значение степендии. всегда folse, даже если стоит true
Поэтому нужно писать false, чтоб всегда все работало как надо.
Георгий спасибо вам ООООООООООООООгромное благодаря вам я знаю C#! И теперь в своей юности могу создавать игры на Unity! Но есть одно но! Unity у меня не запускается у меня Windows 7 и я не могу его запустить! выходит ошибка api-ms-win... я делал все чтобы ее убрать переустанавливал раз 5, скачивал этот файл кидал его туда куда было сказано в видео(специальном) , но все без толку((((((((((((
Норм? :
using System;
namespace Class1
{
class Student
{
public static int count = 0;
public string name;
public int course;
public bool scholarship;
public Student ()
{
name = "Tom";
course = 3;
scholarship = true;
count++;
information();
}
public Student ( string name, int course, bool scholarship)
{
this.name = name;
this.course = course;
this.scholarship = scholarship;
count++;
information();
}
public void information ()
{
Console.WriteLine("Name: " + name);
Console.WriteLine("Course: " + course);
Console.WriteLine("Scholarship: " + scholarship);
}
}
class Program
{
static void Main(string[] args)
{
Student Tom = new Student();
Console.WriteLine();
Student Ricardo = new Student("Ricardo", 5, false);
Console.WriteLine();
Student Roma = new Student("Roma", 1, false);
Console.WriteLine();
Console.WriteLine("Count of studens: " + Student.count);
Ору, студент Рикардо
за эту фигню с класам и жывотними хочу сказать спасибо вам потому что на это говно я угробил два дня и оно не зароботало просто так потому что я роботал в вижуал студио и 2 урока еще на этом основавыеться
Гоша, ты вообще не соблюдаешь правила написания кода в C#. Где _ у приватных полей класса? Почему скобка { идет на той же строке что и код? Почему переменная в методе начинается с большой буквы?
Кому как удобно, тот так и пишет. Правил написания никаких нету...
Да, в Java по другому.. Но суть та же..
public class Main {
public static void main(String[] args) {
Cat barsik = new Cat("Мурзик", 5, 4);
System.out.println("Изначальное имя кота - " + barsik.getName());
barsik.setName("Пушок");
System.out.println("Новое имя кота - " + barsik.getName());
}
}
Я не понимаю,почему у него 2 метода stedent, а ошибку не выдает.
Вроде же нельзя делать 2 метода с одним и тем-же именем
Это не методы а конструкторы, один без параметров который вызывается по умолчанию, второй с параметрами. И вообще методы могут быть с одинаковым названием, но с разной сигнатурой и это нормально в C#
Да, это нормально - вроде называется перегрузкой методов.
Да-да, все) Разобрался, думал что это методы))
А то что методы могут быть с одинаковыми названиями но разной сигнатурой называется перегрузкой)
Чувак, у тебя 20 процентов зарядки...Поставь заряжаться!
1 процент информации и 99 процентов пиздежа... и приходится у таких учится.
три поля-режет слух! А так уроки бомба! Лайк если из 2020 года!
Очень много ошибок в преподавание C# А так же возмутило полное не знание английского и особенно это страшное произношение! This teacher is very bad!
Не согласен с вами. По моему достаточно хорошо. А английский язык тут вообще не при чём, видео не по изучею английского!
Ни понятно🤨😑