Что именно не воркает?

|
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
что? как это поставить метод около переменной?

dotnetruchat-1303252.jpg

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 ето актуально ,скиньте ссылку на книгу с первой программой.

Нет, неподдерживаемое старьё

|