List<List<string>> a = new List<List<string>>(); 这样用肯定就会报错。 List<(System.Object)List<string>> a = new List<(System.Object)List<string>>(); 这样会不会报错不清楚,进行了装箱操作。不过这种方法比较土。可能还有更好的方法吧? List<List<string>> a = new List<List<string>>();怎么会报错呢??语法上是行得通的呀~你是不是给a添加的元素不是List<string>类型的呀,再或者添加a的元素没有new?以下测试代码 List<List<string>> a = new List<List<string>>(); List<string> firstElement = new List<string>(); firstElement.Add("ABC"); List<string> secondElement = new List<string>(); secondElement.Add("BCD"); a.Add(firstElement); a.Add(secondElement); foreach (List<string> i in a) { foreach (string s in i) { Console.WriteLine(s); } }Dictionary<List<string>,List<string>> id=new Dictionary<List<string>,List<string>>();想怎么嵌套都行。循环用foreach (KeyValuePair<string,string> item in id){……}========