Нет, такого нет, но его можно имитировать при помощи Linq в некоторых случаях.
Для передачи аргументов в функцию вообще нет никакого сахара - только руками по индексу можно вытаскивать.
public class MyClass
{
public static void UseParams(params int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.Write(list[i] + " ");
}
Console.WriteLine();
}
static void Main()
{
// You can send a comma-separated list of arguments of the
// specified type.
UseParams(1, 2, 3, 4);
// An array argument can be passed, as long as the array
// type matches the parameter type of the method being called.
int[] myIntArray = { 5, 6, 7, 8, 9 };
UseParams(myIntArray);
}}
Да, чтобы это было то, функция должна принимать не params int[] list а int a, int b, int c, int d, int v. При этом в неё по прежнему отправлют myIntArray
Hikanosu, вы ошибаетесь. Синтаксис шарпа отличается от оного питона. Если вас интересуют подсказки ide, то в шарпе поэлементной документации params нет.
Интересует, чтобы в функцию отправлялся массив, при этом функция принимала именованые параметры, не нужнен массив в параметрах и доступ по индексам к ним. Это не подсказки ide. Нужно переменное количество аргументов, как работает params мне измевестно и в проектах его использую, поэтому говорю что это не то. Ниже хороший пример что ищется.
def func(welcome, to, site):
print(welcome, to, site)
func(*["Welcome", "to"], **{"site": 'StackAbuse.com'})
Hikanosu, переменное количество аргументов в шарпе задается коллекцией (иначе как вы это скомпилируете?), но если очень хочется, то можете распаковать эту коллекцию вручную, например так: (int a, int b) = (ar[0], ar[1]);
Вы не понимаете что пишите либо не читаете что вам пишут.
def func(welcome, to, site):
print(welcome, to, site)
func(*["Welcome", "to"], **{"site": 'StackAbuse.com'})
Взгляните ещё раз на этот код. В вопросе говорится как раз про аналог этих звёздочек, они сами автоматически распаковывают список и отправляют значения из списка в параметры, без участия программиста и написания лишнего кода.
Не вручную перебор по индексам, не переменное количество аргументов, не params, не список в параметрах и подобное.
Hikanosu, кажется, я вас понял. Вы хотите поставить * (или другой специальный символ) и скомпилировать код сквозь ошибки. Так бы сразу и спросили про оператор распаковки, а не его аналог.
Нет, оператор распаковки в шарпе не предусмотрен. Список всех доступных операторов есть в официальной документации.