创建一个列表数组

时间:2015-02-08 11:46:02

标签: c#

我想创建一个列表数组,其中包含一个字符串和一个数组列表。

例如: 我想要这个。

  

list(0)---字符串值
列表(0)--- list(0) - 字符串值
  list(0)---- list(1) - string value

     

list(1)---字符串值
列表(1)--- list(0) - 字符串值
  list(1)---- list(1) - string value

依旧......

我将如何申报?

我试过了:

 List<List<String>> list = new List<List<string>>(); //  but it didn't work.
 List<string[]> arrayList = new List<string[]>(); //  again it didn't work..

这可以申报吗? 如果是这样的话?

5 个答案:

答案 0 :(得分:1)

这不是Dictionary<string, string[]>吗?

var x = new Dictionary<string, string[]>();

x.Add("string1", new string[] {"a", "b", "c"})

然后你就可以得到那本词典的清单。

var list = new List<Dictionary<string, string[]>>();

list.Add(x);

答案 1 :(得分:0)

正如我在您的数据结构中看到的那样,您已经要求包含两个List的A List并且所有这些string类型都相同Dictionary那么您应该使用{ {1}}。作为List的单一类型,您可以一次为其添加一个值。试试Dictionary

Dictionary<string, string> dictionary = new Dictionary<string, string>();

或者如果您希望Dictionary包含List string

Dictionary<List<string>, List<string>> dictionary = new Dictionary<List<string>, List<string>>();

答案 2 :(得分:0)

这对你有用吗?

public class Tree<T> : List<Tree<T>>
{
    public Tree(T value) { this.Value = value; }
    public T Value { get; set; }
}

它不是数组,而是列表,但它的结构大致相同。

然后你可以像这样分配它:

var trees = new []
{
    new Tree<string>("Branch 1")
    {
        new Tree<string>("Leaf 1.1"),
        new Tree<string>("Leaf 1.2"),
    },
    new Tree<string>("Branch 2")
    {
        new Tree<string>("Leaf 2.1"),
        new Tree<string>("Leaf 2.2"),
    },
};

答案 3 :(得分:0)

试试这个

        List<List<String>> str_2d_list = new List<List<String>>();
        List<String> l1 = new List<string>();
        l1.Add("l1.string1");
        l1.Add("l1,string2");
        List<String> l2 = new List<string>();
        l2.Add("l2.string1");
        l2.Add("l2,string2");
        str_2d_list.Add(l1);
        str_2d_list.Add(l2);

答案 4 :(得分:0)

如果要创建字符串和列表的数组,请在代码中使用第二种方法。但如果你想在列表中使用第一种方式列表。

using System;
using System.Collections.Generic;

namespace ConsoleApplication1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            // an example of list of strings
            List<string> names = new List<string>();
            names.Add("Mike");
            names.Add("Sarah");
            List<string> families = new List<string>();
            families.Add("Ahmadi");
            families.Add("Ghasemi");

            // 1st way
            List<List<string>> outsideList = new List<List<string>>();
            outsideList.Add(names);
            outsideList.Add(families);


            // 2nd way
            Dictionary<string, List<string>> d = new Dictionary<string, List<string>>();
            d.Add("first", names);
            d.Add("second", families);

            // how to access list<list<>>
            foreach (List<string> list in outsideList)
            {
                foreach (string s in list)
                    Console.WriteLine(s);
            }

            // how to access list inside dictionary
            foreach (List<string> list in d.Values)
            {
                foreach (string s in list)
                    Console.WriteLine(s);
            }
        }
    }
}