Re[3]: Как передать дополнительный параметр в params?
От: rameel https://github.com/rsdn/CodeJam
Дата: 30.08.12 04:41
Оценка: 98 (5)
Здравствуйте, Eldar9x, Вы писали:
E>
E>base( new List<Type>() { typeof(Message.Teardown) }.Union( types ).ToArray() )
E>


Твой пример можно сократить
new List<Type>(types) {typeof(Message.Teardown)}.ToArray()
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>
Как передать дополнительный параметр в params?
От: Eldar9x  
Дата: 30.08.12 03:27
Оценка: 66 (1)
Подскажите, пожалуйста?

public CcrAgent(params Type[] types)
            : base( types )
        {
        }


как мне написать этот конструктор, чтобы в types дополнительно передавались фиксированные типы:

public CcrAgent(params Type[] types)
            : base( types + typeof(Teardown) ) // не компилируется...
        {
        }
int i;
i = (i++)+(i++);
cout << i;
Re: Как передать дополнительный параметр в params?
От: rameel https://github.com/rsdn/CodeJam
Дата: 30.08.12 04:03
Оценка: 2 (1)
Здравствуйте, Eldar9x, Вы писали:

E>Подскажите, пожалуйста?

E>как мне написать этот конструктор, чтобы в types дополнительно передавались фиксированные типы:
public CcrAgent(params Type[] types)
    : base(types.Concat(new[]{typeof(Teardown)}).ToArray())
    {
    }
... << RSDN@Home 1.2.0 alpha 5 rev. 66>>
Re: Как передать дополнительный параметр в params?
От: dorofeevilya Россия  
Дата: 30.08.12 04:03
Оценка: 1 (1)
Здравствуйте, Eldar9x, Вы писали:

E>Подскажите, пожалуйста?


E>как мне написать этот конструктор, чтобы в types дополнительно передавались фиксированные типы:


public CcrAgent(params Type[] types)
            : base( types.Concat(Enumerable.Repeat(typeof(Teardown), 1)).ToArray())
        {
        }
Re[2]: Как передать дополнительный параметр в params?
От: Eldar9x  
Дата: 30.08.12 04:29
Оценка:
Спасибо!
Еще вот так получилось

base( new List<Type>() { typeof(Message.Teardown) }.Union( types ).ToArray() )


но ваши способы элегантней.
int i;
i = (i++)+(i++);
cout << i;
Re[3]: Как передать дополнительный параметр в params?
От: fddima  
Дата: 30.08.12 08:36
Оценка:
Здравствуйте, Eldar9x, Вы писали:

E>но ваши способы элегантней.

Другие способы прежде всего выполняют совершенно иное.
Union это объединение (сумма, соединение) множеств (в SQL — UNION), в то время как Concat — это склеивание последовательностей (в SQL — UNION ALL).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.