Это было бы простой реализацией для списка списков:
List> myList = new List>();
myList.Add(new List());
myList.Add(new List());
myList.Add(new List());
int list = 0;
int element = 6;
myList[0].Add(5);
myList[list].Add(element);
Если мы проверим мой список, у нас будет
Затем вы можете добавлять или удалять по своему желанию.
Отредактируйте
, если вы хотите использовать имя строки, такое как «Переменная» 1, чтобы получить или установить эти значения, нам нужно немного изменить структуру.
Сначала мы объявляем структуру для хранения значений в паре.
class Valuegroup
{
public int FirsValue { get; set; }
public int SecondValue { get; set; }
}
Тогда нам нужна пара значений ключей коллекции, где ключ должен быть уникальным. В .Net мы можем использовать словарную структуру для ее достижения.
Мы объявляем это следующим образом:
Dictionary> myList = new Dictionary>();
С помощью вышеуказанного объявления мы сможем использовать строку ключей Переменная 1, Переменная 2, Переменная 3 и т. Д. В качестве уникального ключа. Затем мы можем добавить наши значения в виде групп в List
. Каждый элемент списка будет представлять группу элементов, таких как (2, 4), (5, 1) и т. Д.
Собираем все вместе:
class Valuegroup
{
public int FirsValue { get; set; }
public int SecondValue { get; set; }
}
static void Main(string[] args)
{
//Variable 1 = (2, 4) , (5, 1)
Valuegroup first = new Valuegroup
{
FirsValue = 2,
SecondValue = 4
};
Valuegroup second = new Valuegroup
{
FirsValue = 5,
SecondValue = 1
};
Dictionary> myList = new Dictionary>();
myList.Add("Variable 1",new List{first,second});
//retrive a value using a key name eg Variable 1
List temp = new List();
myList.TryGetValue("Variable 1", out temp);
//do a search using Linq
var t = myList.Where(x => x.Key == "Variable 2");
}
Это показывает, что myList содержит
И здесь вы можете обратите внимание, что получение значения с помощью клавиши "Variable 1"
вернет правильный результат. Между тем, поиск "Variable 2"
не дал результатов.
Я попробовал выше решения, но не работал на меня. Таким образом, я переименовываю exe и восстанавливаю решение. Это работает на меня.