Обобщение. Возврат любого типа IEnumerable - C#
Формулировка задачи:
Доброе время суток. Мне дано задание:
Под параметризованным методом, я так думаю, понимается метод, который возвращает любую последовательность типа int.
Вот, что у меня есть.
Как привести tmp к типу TResult. Или возможно сделать, как-нибудь по-другому.
Разработать параметризованный метод для генерации последовательности простых чисел (1, 2, 3, 5, 7, 11, 13…)
TResult genSequencePrimeNumber<TResult>(int count) where TResult : IEnumerable<int>, new()
{
var tmp = new int[count];
int counter = 0;
for(int i = 2; ; i++)
{
if(isPrime(i))
{
tmp[counter] = i;
counter++;
}
if (counter == count)
break;
}
return;
} Решение задачи: «Обобщение. Возврат любого типа IEnumerable»
textual
Листинг программы
public IEnumerable<T> GenSequencePrimeNumber<T>()
{
for (int i = 2; ; i++)
if (isPrime(i))
yield return (T)Convert.ChangeType(i, typeof(T));
}