using System.Collections.Generic;
List<List<ABC>> myList = new List<List<ABC>>();
List<ABC> tList = new List<ABC>();
tList.Add(new ABC(){QuestionName = "EFirstName", Response = "BBB"});
tList.Add(new ABC(){QuestionName = "BLastName", Response = "BBBLastName"});
List<ABC> bList = new List<ABC>();
tList.Add(new ABC(){QuestionName = "zFirstName", Response = "BBB"});
tList.Add(new ABC(){QuestionName = "QLastName", Response = "BBBLastName"});
Console.WriteLine("Normal List");
foreach(var item in myList){
foreach(var innerItem in item){
Console.WriteLine(innerItem.QuestionName + " | "+innerItem.Response);
Console.WriteLine("++++++++++++++++++++++++");
var sortedList = myList.Select(x=>x.OrderBy(y=> y.QuestionName)).ToList();
Console.WriteLine("Sorted List");
foreach(var item in sortedList){
foreach(var innerItem in item){
Console.WriteLine(innerItem.QuestionName + " | "+innerItem.Response);
public string QuestionName{get; set;}
public string Response{get; set;}