Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2016, 22:59   #1
robix
Пользователь
 
Регистрация: 16.07.2015
Сообщений: 31
По умолчанию Подскажите, что означает такая конструкция int R { get; set; }

Здравствуйте, я новичок в asp net. Подскажите, что означает такая конструкция:

int R { get; set; }


Или это особенности C#?
Именно, что значит get и set в фигурных скобках после переменной. Что это дает?

Последний раз редактировалось robix; 14.06.2016 в 23:05.
robix вне форума Ответить с цитированием
Старый 14.06.2016, 23:08   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

auto-implemented property https://msdn.microsoft.com/en-us/library/bb384054.aspx
(есть естественно и не auto-implemented свойства со своим кодом в get/set)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 14.06.2016, 23:47   #3
robix
Пользователь
 
Регистрация: 16.07.2015
Сообщений: 31
По умолчанию

Спасибо, а можете пример привести, допусти если в классе есть такое
Код:
class RQ
{

public int R { get; set; }
//...

}
Что например можно сделать с переменной R, чего нельзя если бы не было после нее { get; set; } ?
robix вне форума Ответить с цитированием
Старый 15.06.2016, 00:27   #4
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Это не переменные, поэтому нельзя ничего сделать с тем чего нет, хоть со скобками хоть без.
public int R { get; set; } это свойство, а это public int R поле
дальше в справке.
come-on вне форума Ответить с цитированием
Старый 15.06.2016, 00:52   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от robix Посмотреть сообщение
Спасибо, а можете пример привести, допусти если в классе есть такое
Код:
class RQ
{

public int R { get; set; }
//...

}
Что например можно сделать с переменной R, чего нельзя если бы не было после нее { get; set; } ?
многие методы использующие рефлексию(Data-Binding например) читают только свойства, так как свойства более гибкие.(+ они могут быть виртуальными, могут быть часть интерфейса)
если у вас возникает этот вопрос, значит вам еще рановато об этом голову ломать.
кратко говоря, смысл есть.
краткая запись свойства, это упрощение для случаев когда для свойства не нужна хитрая логика.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.06.2016, 22:10   #6
robix
Пользователь
 
Регистрация: 16.07.2015
Сообщений: 31
По умолчанию

Спасибо. А вот еще хотел спросить про Enumerable класс Net Framework .
В модели ASP NET проекта есть класс Collect, у которого есть свойство public static List<Neo> Init, где в его get {...} оно возвращает коллекцию List<> класса Neo

Код:
    public class Collect
    {
		public static List<Neo> Init
        {
            get
            {
                List<Neo> neolist = new List<Neo>();
    
				//... Наполнение коллекции
	
                return neolist;
            }
        }
	}
И потом в контроллере выполняется
Код:
IEnumerable<Neo> neos =Collect.Init.Take(numbers);
При этом объект класса Collect не создается через new нигде в проекте, а сразу идет такая инструкция.
Получается, что IEnumerable неявно все таки создает экземпляр класса Collect? Или как это работает?

Последний раз редактировалось robix; 15.06.2016 в 22:46.
robix вне форума Ответить с цитированием
Старый 15.06.2016, 22:33   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
А вот еще есть класс Enumerable. Это часть .NET Framework ? Получается к C# это не имеет отношения или C# обычно всегда с NET Framework используют в asp net?
Можно же и без него обойтись?
Ну LINQ вроде и в Mono есть. И даже в Юнити.
Или вы про IEnumerable<T>? Коллекции тем более везде есть. И это не класс, а интерфейс.

Зачем обходиться?
А так конечно можно и ассемблером обойтись.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 15.06.2016 в 22:55.
Alex11223 вне форума Ответить с цитированием
Старый 15.06.2016, 22:47   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это статическое свойство, статические свойства/поля/методы работают без экземпляра объекта, но при этом могут обратится только к таким же статикам.(или аргументы)
https://msdn.microsoft.com/ru-ru/library/98f28cdx.aspx

поясню отдельно это:
Цитата:
объект класса Collect не создается
так у вас обращения к объекту класса Collect и нету. есть обращение к классу Collect.
Цитата:
А вот еще есть класс Enumerable. Это часть .NET Framework ? Получается к C# это не имеет отношения или C# обычно всегда с NET Framework используют в asp net?
Можно же и без него обойтись
это BCL dotNET. стандартный класс.
C# в принципе был создан для dotNET'a, применять можно не только то что написано на C#, любая управляемая(dotNET) сборка.

хотите обходитесь, но это будет странно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 15.06.2016 в 23:06.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.06.2016, 17:25   #9
robix
Пользователь
 
Регистрация: 16.07.2015
Сообщений: 31
По умолчанию

Спасибо вам, а мне нужно будет ликбез по c# пройти, так как смотрю, что хватает отличий от c++.
Хотя вот в чем фишка interface?
Можно и без него обойтись, но раз он есть значит, какая-то польза должна быть от него...
robix вне форума Ответить с цитированием
Старый 18.06.2016, 17:29   #10
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
Хотя вот в чем фишка interface?
в том же что и в с++
come-on вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что означает данная конструкция JobInfo := TJobInfo(Params); D-mon Общие вопросы Delphi 2 10.07.2012 19:31
Что означает int (*a)[N]; ? ololo-schoolboy Общие вопросы C/C++ 10 06.03.2011 06:22
Что означает int?, long? и т.п. ??? newbprofi Общие вопросы .NET 1 02.09.2010 02:17
подскажите что это означает?? мария2507 Microsoft Office Excel 4 25.01.2010 16:07
Что означает конструкция... Alex Cones Общие вопросы Delphi 7 13.12.2009 16:06