C# Как передать и вернуть из функции список не явного типа List<var>?

Вот и вся суть вопроса. Мне нужно, чтобы функция хватала список, перетасовывала и возвращала. И не задавалась вопросом какой там тип, кто, что и чего. Просто взяла, миксанула, и выплюнула.
В C# нет типа List<var>, но вы можете использовать List<dynamic> для создания списка неявного типа. Вы можете передать этот список в функцию как параметр и вернуть его из функции, как и любой другой тип данных. Вот пример кода:
public List<dynamic> Shuffle(List<dynamic> list)
{
Random rng = new Random();
int n = list.Count;
while (n > 1)
{
n--;
int k = rng.Next(n + 1);
dynamic value = list[k];
list[k] = list[n];
list[n] = value;
}
return list;
}
В этом примере функция Shuffle принимает список неявного типа List<dynamic> в качестве параметра, перемешивает его элементы и возвращает перемешанный список. Вы можете вызвать эту функцию и передать ей список неявного типа, например:
List<dynamic> myList = new List<dynamic>() {1, "two", 3.0};
myList = Shuffle(myList);
public static IEnumerable<T> FisherYatesShuffle<T>(this IEnumerable<T> list)
{
Random random = new Random();
List<T> shuffled = new List<T>(list);
int n = shuffled.Count;
while (n > 1)
{
n--;
int randomIndex = random.Next(n + 1);
T value = shuffled[randomIndex];
shuffled[randomIndex] = shuffled[n];
shuffled[n] = value;
}
return shuffled;
}
Опиши свой класс
class MyList<T>: List<T>
и реализуй в нем метод перетасовывания любым известным тебе способом.
вопервых viod замени на List, а потом заполняй свой список и делай return ТвойСписокТипаList
Да просто используй IList и всё.