Czy istnieje możliwość utworzenia jakiejś niezainicjowanej listy List<> bez określonego typu danych, a później przypisania do niej jakiejś istniejącej listy dowolnego typu? Wyobraźmy sobie taki przykładowy kod:
public List<int> inty = new List<int>();
public List<byte> bajty = new List<byte>();
public List<long> longi = new List<long>();
public void dopisz(byte liczba)
{
public List<T> pusta;
if (liczba % 3 == 0) pusta = inty;
else if (liczba % 3 == 1) pusta = bajty;
else if (liczba % 3 == 2) pusta = longi;
for (int i = 0; i < pusta.Length; i++)
{
pusta[i]+=liczba;
}
}
W tym przykładzie funkcja "dopisz" dopisuje "liczba" do każdego elementu jednej z list, w zależności od jej reszty dzielenia przez trzy. Rzecz jasna w rzeczywistym kodzie zamiast pętli for jest znacznie dłuższy ciąg instrukcji, tak więc jeśli nie dałoby się użyć "pusta" to musiałby zostać on powtórzony trzykrotnie dla każdej z list. Niestety nie wiem jak należałoby taką listę "pusta" zainicjować, gdyż ani List<T> ani List<> nie jest prawidłowe. Jest jakiś inny sposób czy raczej trzeba będzie dla każdej listy pisać osobno?