Новости 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: Новости 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: Новости 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[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[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.
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[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.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.