Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
19 / 19 / 6
Регистрация: 28.02.2011
Сообщений: 534
1

Как присвоить новое значение переменной когда у неё есть только get?

20.08.2018, 13:36. Показов 2631. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Столкнулся с такой штукой.
В C# нашел укороченная форма записи "public string STR1 { get; set; }".
Когда я использую get, set то я к переменной могу считать и записать переменную.

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

Как я понимаю студия строку "public string STR1 { get; set; }" разбивает на структуру:
C#
1
2
3
4
5
6
7
8
        
string _STR1 = "";
 
public string STR1
{
  get { return _STR1; }
  set { _STR1 = value; }
}
Как мне при укороченной записи внутри класса обратится к той скрытой переменой?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.08.2018, 13:36
Ответы с готовыми решениями:

Как присвоить списку новое значение переменной?
Как присвоить списку новое значение переменной?

Можно ли присвоить статической переменной некоторое значение, когда еще не создано никаких объектов класса?
Можно ли присвоить статической переменной некоторое значение, когда еще не создано никаких объектов...

Как присвоить значение переменной, исходя из значения другой переменной?
Всем привет. Нужна помощь. Есть переменная, например "month" которая может принимать значения...

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

4
[Bicycle Reinventor]
332 / 270 / 109
Регистрация: 19.10.2011
Сообщений: 668
Записей в блоге: 2
20.08.2018, 13:39 2
Лучший ответ Сообщение было отмечено fufel как решение

Решение

C#
1
public string STR1 { get; private set; }
2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
20.08.2018, 13:55 3
Цитата Сообщение от fufel Посмотреть сообщение
Как мне при укороченной записи внутри класса обратится к той скрытой переменой?
Никак. В этом суть автоматических свойств.
0
19 / 19 / 6
Регистрация: 28.02.2011
Сообщений: 534
20.08.2018, 15:56  [ТС] 4
Exerion, Большое спасибо, именно то что и искал.

OwenGlendower, Извини, не корректно задал вопрос
0
Эксперт .NET
6452 / 4053 / 1599
Регистрация: 09.05.2015
Сообщений: 9,487
20.08.2018, 16:09 5
Если у свойства имеется только get accessor, то присвоить ему значение можно только 2 способами
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    class TestClass
    {
        // 1 (непосредственно при объявлении)
        public string STR1 { get; } = "123";
 
        // 2 (через конструктор класса)
        public string STR2 { get; }
 
        public TestClass()
        {
            STR1 = "123";
        }
    }
0
20.08.2018, 16:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2018, 16:09
Помогаю со студенческими работами здесь

Как лучше изменять значение переменной в Javascript через replace или просто присвоить новое?
Нужно мнение спеца по Javascript. Как будет корректнее или может быстрее заменить по клику значение...

Какое значение переменной присвоить,чтобы в неё можно было писать текст
Почему при наборе в Edit тут же всё стирается? Какое значение переменной присвоить,чтобы в неё...

Можно ли присвоить статической переменной значение, когда еще не создано никаких объектов класса?
Можно ли присвоить статической переменной некоторое значение, когда еще не создано никаких объектов...

Как значению поля присвоить предыдушее значение и новое
Всем привет;) есть два текстовые поля, разных таблиц. A varchar2(400) - table1 B varchar2(400) -...


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

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