← пред | след →
Keter_SCP 2022-07-01 21:38:17
LexaMV 2022-07-01 21:36:56
привет всем не могу разобраться с темой свойств, допустим у меня есть переменная int, я могу поставить ей set и get. но могу написать 2 метода которые будут возвращать и присваивать этой переменной значения, в чем тогда приемущество свойств?
в короткой форме
Algok17 2022-07-01 21:38:34
Mblkolo 2022-07-01 21:38:14
Можно так void Ololo<T>(T[,] array)
ща попробую
Mblkolo 2022-07-01 21:39:53
LexaMV 2022-07-01 21:36:56
привет всем не могу разобраться с темой свойств, допустим у меня есть переменная int, я могу поставить ей set и get. но могу написать 2 метода которые будут возвращать и присваивать этой переменной значения, в чем тогда приемущество свойств?
Краткость возможность отличать их от методов.
Ralsei25 2022-07-01 21:40:26
LexaMV 2022-07-01 21:36:56
привет всем не могу разобраться с темой свойств, допустим у меня есть переменная int, я могу поставить ей set и get. но могу написать 2 метода которые будут возвращать и присваивать этой переменной значения, в чем тогда приемущество свойств?
Свойства — это и есть методы для получения и установки значений
LexaMV 2022-07-01 21:40:28
получается это сворачивание методов в пределах переменной
Ralsei25 2022-07-01 21:40:29
Только красивее
Mikhail 2022-07-01 21:40:39
LexaMV 2022-07-01 21:36:56
привет всем не могу разобраться с темой свойств, допустим у меня есть переменная int, я могу поставить ей set и get. но могу написать 2 метода которые будут возвращать и присваивать этой переменной значения, в чем тогда приемущество свойств?
Фактически компилятор и создает 2 метода поле. Тебе просто не надо это писать
Keter_SCP 2022-07-01 21:41:10
LexaMV 2022-07-01 21:40:28
получается это сворачивание методов в пределах переменной
какой переменной? может поля?
LexaMV 2022-07-01 21:41:50
Keter_SCP 2022-07-01 21:41:10
какой переменной? может поля?
то есть берешь методы и ставишь из около переменной
Ralsei25 2022-07-01 21:41:53
И вместо
obj.SetMyProperty(1);
Можно писать
obj.MyProperty = 1;
Mblkolo 2022-07-01 21:42:04
Algok17 2022-07-01 20:33:21
Ну я пока вот что придумал
bool escapeFlag = false;
for (int logicPositionY = 0; logicPositionY < _context.LandModel.SizeY && !escapeFlag; logicPositionY )
{
for (int logicPositionX = 0; logicPositionX < _context.LandModel.SizeX; logicPositionX )
{
if (allowableCellSelector.Invoke(_context.LandModel.Cells[logicPositionY, logicPositionX]))
{
freeCellsList.Add(new Vector2Int(logicPositionX, logicPositionY));
if (—freeCellNeeded == 0)
{
escapeFlag = true;
break;
}
}
}
}
Вам написанное в метод, только вместо бряка ретурн
Keter_SCP 2022-07-01 21:42:19
LexaMV 2022-07-01 21:41:50
то есть берешь методы и ставишь из около переменной
что? как это поставить метод около переменной?
Ralsei25 2022-07-01 21:42:20
Keter_SCP 2022-07-01 21:41:10
какой переменной? может поля?
Так поля являются переменными
Algok17 2022-07-01 21:42:25
Mblkolo 2022-07-01 21:42:04
Вам написанное в метод, только вместо бряка ретурн
ага, уже сделал
Keter_SCP 2022-07-01 21:42:55
Ralsei25 2022-07-01 21:42:20
Так поля являются переменными
public int MyProp {get;} тоже?
Algok17 2022-07-01 21:43:02
Mblkolo 2022-07-01 21:42:04
Вам написанное в метод, только вместо бряка ретурн
смущает только что 2 раза одинаковый код list.ToArray()
Ralsei25 2022-07-01 21:43:09
Keter_SCP 2022-07-01 21:42:55
public int MyProp {get;} тоже?
Это свойство
LexaMV 2022-07-01 21:43:12
Keter_SCP 2022-07-01 21:42:19
что? как это поставить метод около переменной?

Keter_SCP 2022-07-01 21:43:17
Ralsei25 2022-07-01 21:43:09
Это свойство
ну так поле не всегда переменное
Keter_SCP 2022-07-01 21:43:26
как и свойство которое за него отвечает
Ralsei25 2022-07-01 21:43:45
Keter_SCP 2022-07-01 21:43:17
ну так поле не всегда переменное
Что-то я запутался
Keter_SCP 2022-07-01 21:43:48
LexaMV 2022-07-01 21:43:12
а еще можно короче через автосвойства {get; set;}
Ralsei25 2022-07-01 21:43:53
Мы про переменные или про переменный поля?
Keter_SCP 2022-07-01 21:44:09
Ralsei25 2022-07-01 21:43:53
Мы про переменные или про переменный поля?
мы про переменные, что такое переменная?
Algok17 2022-07-01 21:44:10
Mblkolo 2022-07-01 21:38:14
Можно так void Ololo<T>(T[,] array)
чёт не воркает пока
private static void ArrayEnumerator(){
var array = new int[,]{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Console.WriteLine(Ololo(array));
}
private static string Ololo<T>(T[,] array){
return String.Join(«, «,array.GetEnumerator()as IEnumerable<int>);
}
Mikhail 2022-07-01 21:44:46
LexaMV 2022-07-01 21:41:50
то есть берешь методы и ставишь из около переменной
Вот это public int MyValue { get; set; } по факту
private int _myValue;
public int get_MyValue()
{
return _myValue;
}
public void set_MyValue(int value)
{
_myValue = value;
}
Первый вариант гораздо более компактный и читаемый
LexaMV 2022-07-01 21:44:56
Keter_SCP 2022-07-01 21:43:48
а еще можно короче через автосвойства {get; set;}
да, можно просто хотел больше вникнуть в чем такое принципиальное отличие
LexaMV 2022-07-01 21:45:17
Первый вариант гораздо более компактный и читаемый — да нужно применять
dopusteam 2022-07-01 21:45:36
Algok17 2022-07-01 21:44:10
чёт не воркает пока
private static void ArrayEnumerator(){
var array = new int[,]{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Console.WriteLine(Ololo(array));
}
private static string Ololo<T>(T[,] array){
return String.Join(«, «,array.GetEnumerator()as IEnumerable<int>);
}
Что именно не воркает?
Mblkolo 2022-07-01 21:45:46
Algok17 2022-07-01 21:44:10
чёт не воркает пока
private static void ArrayEnumerator(){
var array = new int[,]{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Console.WriteLine(Ololo(array));
}
private static string Ololo<T>(T[,] array){
return String.Join(«, «,array.GetEnumerator()as IEnumerable<int>);
}
Так ты хз что, т. Е Т, пытаешься к инту кастануть. Компилятор не смог.
Algok17 2022-07-01 21:45:57
dopusteam 2022-07-01 21:45:36
Что именно не воркает?
array.GetEnumerator()as IEnumerable<int>
Необработанное исключение: System.ArgumentNullException: Значение не может быть
неопределенным.
Имя параметра: values
Keter_SCP 2022-07-01 21:46:12
LexaMV 2022-07-01 21:44:56
да, можно просто хотел больше вникнуть в чем такое принципиальное отличие
фактически ни в чем, рослин компилятор за вас перепишет свойства на методы
dopusteam 2022-07-01 21:46:13
Algok17 2022-07-01 21:45:57
array.GetEnumerator()as IEnumerable<int>
Необработанное исключение: System.ArgumentNullException: Значение не может быть
неопределенным.
Имя параметра: values
Ну, собственно, в чём вопрос?
Algok17 2022-07-01 21:46:52
dopusteam 2022-07-01 21:46:13
Ну, собственно, в чём вопрос?
хочу enumerator по всему массиву чтобы вывести чиста от 1 до 9
Mblkolo 2022-07-01 21:47:05
Algok17 2022-07-01 21:45:57
array.GetEnumerator()as IEnumerable<int>
Необработанное исключение: System.ArgumentNullException: Значение не может быть
неопределенным.
Имя параметра: values
Каст через as, если не возможен, получается null
ettu19 2022-07-01 21:47:11
Algok17 2022-07-01 21:45:57
array.GetEnumerator()as IEnumerable<int>
Необработанное исключение: System.ArgumentNullException: Значение не может быть
неопределенным.
Имя параметра: values
А многомерный массив и его енамераьоры разве нормально кастится в дженерик ienumerable?
dopusteam 2022-07-01 21:47:23
Algok17 2022-07-01 21:46:52
хочу enumerator по всему массиву чтобы вывести чиста от 1 до 9
это не вопрос
Mblkolo 2022-07-01 21:47:24
Algok17 2022-07-01 21:46:52
хочу enumerator по всему массиву чтобы вывести чиста от 1 до 9
А зачем дженерик метод?
ettu19 2022-07-01 21:47:26
У тебя ж явно после as получается null
Algok17 2022-07-01 21:47:27
ettu19 2022-07-01 21:47:11
А многомерный массив и его енамераьоры разве нормально кастится в дженерик ienumerable?
вот и хочу узнать)
dopusteam 2022-07-01 21:47:51
Algok17 2022-07-01 21:44:10
чёт не воркает пока
private static void ArrayEnumerator(){
var array = new int[,]{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Console.WriteLine(Ololo(array));
}
private static string Ololo<T>(T[,] array){
return String.Join(«, «,array.GetEnumerator()as IEnumerable<int>);
}
Это какое то тестовое задание или реальный код?
Algok17 2022-07-01 21:47:54
dopusteam 2022-07-01 21:47:23
это не вопрос
ну а вопрос это вместо «хочу» «как»
ettu19 2022-07-01 21:48:05
Algok17 2022-07-01 21:47:27
вот и хочу узнать)
Это легко проверяется в дебаге
ettu19 2022-07-01 21:48:20
Или можешь просто посмотреть какие интерфейсы имплементирует T[,]
Algok17 2022-07-01 21:48:22
dopusteam 2022-07-01 21:47:51
Это какое то тестовое задание или реальный код?
Экспериментирую прост
ettu19 2022-07-01 21:48:42
Если что T[,] не имплементирует ienumerable<T>
Algok17 2022-07-01 21:49:07
ettu19 2022-07-01 21:47:26
У тебя ж явно после as получается null
если сделать кастом System.InvalidCastException: Не удалось привести тип
объекта «ArrayEnumerator» к типу «System.Collections.Generic.IEnumerable`1[Syste
m.Int32]».
Lev Sheinblit 2022-07-01 21:49:16
WPF ето актуально ,скиньте ссылку на книгу с первой программой.
ettu19 2022-07-01 21:50:01
Algok17 2022-07-01 21:49:07
если сделать кастом System.InvalidCastException: Не удалось привести тип
объекта «ArrayEnumerator» к типу «System.Collections.Generic.IEnumerable`1[Syste
m.Int32]».
Ага, as и касты как раз таки так и работают
Ralsei25 2022-07-01 21:50:06
Lev Sheinblit 2022-07-01 21:49:16
WPF ето актуально ,скиньте ссылку на книгу с первой программой.
Нет, неподдерживаемое старьё
← пред | след →