Новости C#13. params
От: rameel https://github.com/rsdn/CodeJam
Дата: 14.03.24 15:44
Оценка: 157 (4) +1
В превью версию C#13 добавили для так называемой `params` collections поддержку IEnumerable<T> и ReadOnlySpan<T>. Значит скоро можно будет писать вот так
void M(params IEnumerable<int> numbers);
void M(params ReadOnlySpan<int> numbers);


https://x.com/jcouv/status/1767967748259545522

ЗЫ. Из proposal вытекает, что поддерживаются также

* System.Span<T>
* System.Collections.Generic.IEnumerable<T>,
  System.Collections.Generic.IReadOnlyCollection<T>,
  System.Collections.Generic.IReadOnlyList<T>,
  System.Collections.Generic.ICollection<T>,
  System.Collections.Generic.IList<T>
* Класс или структура, который реализует IEnumerable, если есть доступный конструктор без аргументов, и экземплярный (не extension) метод Add.
* Класс или структура со статическим методом Create.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[8]: Новости C#13. params
От: _FRED_ Черногория
Дата: 29.03.24 11:50
Оценка: 6 (1) +1
Здравствуйте, Serginio1, Вы писали:

_FR>>>>System.Collections.IEnumerable, например, тоже поддержали, что могли бы сделать и с самого начала.

S>>>На самом деле это еще тот геморрой при рефлексии обрабатывать все варианты. Да еще разные варианты с количество перегрузок методов.
_FR>>Какие варианты и рефлексию вы имеете в виду? Можете пример показать? Как это связано с первой, второй или 13-той версией языка?

S> Вот у тебя есть имя метода и параметры. По этим данным надо найти реальный метод.

S>.Net Core, AppDomain, WCF, RPC маршалинг по Tcp/Ip свой велосипед

Спасибо за очень понятное объяснение. Конечно, это всё объясняет.
Help will always be given at Hogwarts to those who ask for it.
Re: Новости C#13. params
От: dmitry_npi Россия  
Дата: 14.03.24 19:15
Оценка: +1
Здравствуйте, rameel, Вы писали:

R>В превью версию C#13 добавили для так называемой `params` collections поддержку IEnumerable<T> и ReadOnlySpan<T>.


Конечно, давно пора. Хотя мне казалось, что params IEnumerable уже давно ввели. Это же естественно.
Атмосферная музыка — www.aventuel.net
Re[2]: Новости C#13. params
От: _FRED_ Черногория
Дата: 28.03.24 21:44
Оценка: +1
Здравствуйте, VladD2, Вы писали:

R>>void M(params IEnumerable<int> numbers);

VD>Не прошло и 20 лет!

Прошло 😭
Help will always be given at Hogwarts to those who ask for it.
Re[7]: Новости C#13. params
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.03.24 11:33
Оценка: :)
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, Serginio1, Вы писали:


_FR>>>System.Collections.IEnumerable, например, тоже поддержали, что могли бы сделать и с самого начала.

S>>На самом деле это еще тот геморрой при рефлексии обрабатывать все варианты. Да еще разные варианты с количество перегрузок методов.

_FR>Какие варианты и рефлексию вы имеете в виду? Можете пример показать? Как это связано с первой, второй или 13-той версией языка?


Вот у тебя есть имя метода и параметры. По этим данным надо найти реальный метод.
.Net Core, AppDomain, WCF, RPC маршалинг по Tcp/Ip свой велосипед
и солнце б утром не вставало, когда бы не было меня
Re: Новости C#13. params
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.03.24 17:24
Оценка:
Здравствуйте, rameel, Вы писали:

R>В превью версию C#13 добавили для так называемой `params` collections поддержку IEnumerable<T> и ReadOnlySpan<T>. Значит скоро можно будет писать вот так

R>
R>void M(params IEnumerable<int> numbers);
R>void M(params ReadOnlySpan<int> numbers);
R>


Не прошло и 20 лет!
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Новости C#13. params
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.03.24 10:08
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Здравствуйте, VladD2, Вы писали:


_FR>
R>>>void M(params IEnumerable<int> numbers);
_FR>

VD>>Не прошло и 20 лет!

_FR>Прошло 😭


Нет дженерики появились в 2005 году!
и солнце б утром не вставало, когда бы не было меня
Re[4]: Новости C#13. params
От: _FRED_ Черногория
Дата: 29.03.24 10:29
Оценка:
Здравствуйте, Serginio1, Вы писали:

R>>>>void M(params IEnumerable<int> numbers);

VD>>>Не прошло и 20 лет!
_FR>>Прошло 😭

S> Нет дженерики появились в 2005 году!


System.Collections.IEnumerable, например, тоже поддержали, что могли бы сделать и с самого начала.
Help will always be given at Hogwarts to those who ask for it.
Re[5]: Новости C#13. params
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 29.03.24 10:44
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>
R>>>>>void M(params IEnumerable<int> numbers);
_FR>

VD>>>>Не прошло и 20 лет!
_FR>>>Прошло 😭

S>> Нет дженерики появились в 2005 году!


_FR>System.Collections.IEnumerable, например, тоже поддержали, что могли бы сделать и с самого начала.


На самом деле это еще тот геморрой при рефлексии обрабатывать все варианты. Да еще разные варианты с количество перегрузок методов.
и солнце б утром не вставало, когда бы не было меня
Re[6]: Новости C#13. params
От: _FRED_ Черногория
Дата: 29.03.24 11:23
Оценка:
Здравствуйте, Serginio1, Вы писали:

_FR>>System.Collections.IEnumerable, например, тоже поддержали, что могли бы сделать и с самого начала.

S>На самом деле это еще тот геморрой при рефлексии обрабатывать все варианты. Да еще разные варианты с количество перегрузок методов.

Какие варианты и рефлексию вы имеете в виду? Можете пример показать? Как это связано с первой, второй или 13-той версией языка?
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.