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){……}========