tworzenie pustych list

0

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

2

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

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.

1
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"];
1

Wszystko się da zrobić pętlą.

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();
        }
    }
}

0

Wcale nie potrzebujesz pętli

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

nie testowane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1