tworzenie pustych list

tworzenie pustych list
K1
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 4 lata
  • Postów:36
0

Mam problem. W jaki sposób mógłbym stworzyć używając pętli 10 pustych list nazwanych kolejno: lista1, lista2, ... lista10?

N0
Może to problem XY, więc zapytam: po co? :P
SZ
  • Rejestracja:prawie 11 lat
  • Ostatnio:42 minuty
  • Postów:1492
2

Jak dla mnie to nie da się. Możesz co najwyżej użyć Dictionary<string, List<T>>

Mateusz Całka
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:5
0

Nie da się, bo nazwy, które im nadajesz są dla Ciebie, w kodzie wynikowym ich nie ma.

To czego chciałbyś użyć i potrzebujesz to tablice.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1
Kopiuj
var dic=new Dictionary<string, List<Typ>>();
for(int i=1;i<10;++i) dic["list"+i.ToString()]=new List<Typ>();
...
List<Typ> L=dic["list7"];

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:6 dni
  • Lokalizacja:Wrocław
1

Wszystko się da zrobić pętlą.

Kopiuj
using Microsoft.CSharp;
using System;
using System.CodeDom.Compiler;
using System.Text;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new CompilerParameters();
            options.GenerateExecutable = false;
            options.GenerateInMemory = false;

            var parameters = new CompilerParameters
            {
                GenerateExecutable = true,
                OutputAssembly = "out.exe"
            };
            
            var sb = new StringBuilder();
            for (int i = 1; i <= 10; i++)
            {
                sb.AppendLine($"var list{i} = new System.Collections.Generic.List<string>();");
            }

            var code = $"class Program {{ static void Main(string[] args) {{ {sb} }} }}";

            var provider = new CSharpCodeProvider();
            var compilerResult = provider.CompileAssemblyFromSource(parameters, code);
            foreach (var error in compilerResult.Errors)
            {
                Console.WriteLine(error);
            }

            Console.ReadLine();
        }
    }
}

SZ
Fajne, ale autor pytania pewnie chcialby moc skorzystac z tych list
somekind
Są w exeku, niech korzysta. :)
Sarrus
  • Rejestracja:prawie 14 lat
  • Ostatnio:8 dni
  • Postów:2512
0

Wcale nie potrzebujesz pętli

Kopiuj
var dict = Enumerable.Range(1, 10).ToDictionary(i => $"Lista{i}", new List<Typ>());
dict["Lista1"].Add(new Typ());

nie testowane.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.