С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Ищущий знания
11 / 8 / 4
Регистрация: 31.05.2015
Сообщений: 209
1

В чем разница?

11.03.2019, 22:40. Показов 451. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Разъясните, в чем разница конкретно этих примеров?

C#
1
2
3
4
5
6
7
8
private string name;
 
    
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
и это
C#
1
public static string Name;
В первом варианте можно составить какой нибудь алгоритм действий, верно?
Но в чем разница именно этих вариантов?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
11.03.2019, 22:40
Ответы с готовыми решениями:

В чем разница?
Name = name; ////////////////// this.Name=name;

Equals и == в чем разница?
Собственно реализовал в классе Equals и ==; Но потом подумал, а ведь это одно и то же. То зачем...

В чем разница while(true) и for( ; ; )?
Всем привет. Вот читаю справочник по с# братьев Албахари, и наткнулся на такую странную вешь, как...

Экземпляр и объект, в чем разница?
Цитата из книги «Полный справочник по С#»Г.Шилдт До этого я думал что экземпляр класса и объект...

4
Эксперт .NET
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
11.03.2019, 22:47 2
В первом варианте у вас instance поле+свойство, а во втором просто поле, да еще и static.
Static: Static members are shared with all objects of the class.
Instance: Instance members belong to the object that they are instantiated from.
0
2638 / 1566 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
11.03.2019, 22:49 3
В первом варианте у вас публичное свойство Name, через которое вы можете манипулировать приватным полем name. Создавая экземпляры данного класса, у каждого из них, приватное поле name может быть уникальным, например как имя у человека.

Во втором варианте у вас статическое поле Name. Статическое поле принадлежит классу, а не экземплярам класса. Поэтому доступ к нему можно получить просто через имя класса в любом месте программы, допустим через MyClass.Name. Можно даже не создавать экземпляр этого класса, чтобы манипулировать его статическим полем из вне.
0
Ищущий знания
11 / 8 / 4
Регистрация: 31.05.2015
Сообщений: 209
11.03.2019, 22:59  [ТС] 4
Someone007, samana, ну вот я пишу программу с БД, и как я могу первый вариант использовать на сервере?

Второй вариант использую для хранения переменных/методов между классами.
0
33 / 24 / 9
Регистрация: 21.11.2018
Сообщений: 162
12.03.2019, 06:51 5
Добрый день. При изменении присвоении значения свойства Name (1 вариант), тобишь set{....}, вы можете не только изменять приватное поле name но и делать другие различные манипуляции, присвоить значение другому приватному полю или вызвать какой-либо метод. Все заложено в логике Вашей программы. Такое же действие Вы можете совершить и в get{...} .

Добавлено через 1 минуту
В бэк части можете в set{} закинуть запрос на изменение в БД, например.
0
12.03.2019, 06:51
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
12.03.2019, 06:51
Помогаю со студенческими работами здесь

В чем разница между new и override?
разница между new и override?

В чем разница между несколькими if и if + else if?
зачем нужно if else? читал для удобства пишут. if(..){} else if(..){} else можно записать...

Преобразование типов. В чем разница?
Здравствуйте. Расскажите, пожалуйста, в чем разница между этими тремя вариантами преобразования...

В чем разница между new и override?
Цитирую с msdn: Для чего нужно вообще использовать new? поведение методов одно и то же что и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru