gpt4 book ai didi

c# - 列表字典

转载 作者:太空狗 更新时间:2023-10-29 22:52:48 24 4
gpt4 key购买 nike

我正在尝试构建一个列表字典,但我正在读取一个字符串并且需要让列表命名该字符串并将它们作为键添加到字典中。

IE读入“你好”

用阅读的内容创建列表

List<string> (insert read string here ) = new List<string>();

然后将列表名称添加为字典的键。

Dictionary.Add(readstring, thatlist);

我能找到的只是一个硬代码实现。

Turing.Add("S", S);

我的目标:创建一个通用图灵机,所以我从一个文本文件中读取输入,下一步是这样的,(q0 a) -> q1 X R。

然后使用我读到的所有步骤在虚拟磁带“tape = XXYYZZBB”上以最终状态结束

我有为此编写的伪代码,但我就是无法让字典正常工作。

编辑:添加更多信息以减少混淆。我给出了文本文件前两行的开始和结束状态。然后我给出了转换。

q0//开始状态q5//结束状态q0 a q1 X R//转换

我去掉了前两行输入,得到 0 和 5,然后创建了一个 for 循环来创建每个状态的列表。

for (int i = 0; i <= endState; i++)
{
List<string> i = new List<string>();
}

然后我想将每个列表名称作为键添加到我正在创建的列表字典中。

Dictionary.Add(listname, thatlist);

我需要帮助来实现上面的代码,因为它给出了错误。

最佳答案

是否将列表创建为并不重要

List<string> insertReadStringHere = new List<string>();

List<string> foo = new List<string>();

甚至

List<string> shellBeComingRoundTheMountain = new List<string>();

重要的是一旦你完成了

MyDictionary.Add(theInputString, shellBeComingRoundTheMountain);

然后您可以通过以下方式访问该特定列表

MyDictionary[theInputString]

“调用”初始列表的位置 insertReadStringHerefooshellBeComingRoundTheMountain

您甚至不需要像这样将列表保存在命名变量中。例如,

Console.WriteLine("Input a string to create a list:");
var createListName = Console.ReadLine();
// As long as they haven't used the string before...
MyDictionary.Add(createListName, new List<string>());

Console.WriteLine("Input a string to retrieve a list:");
var retrieveListName = Console.ReadLine();
// As long as they input the same string...
List<string> retrievedList = MyDictionary[retrieveListName];

编辑:如果你想要一定数量的列表,使用从 int 到字符串的字典,而不是字符串到字符串:

int maxNumberOfLists = 5; // or whatever you read from your text file.
Dictionary<int, List<string>> myLists =
new Dictionary<int, List<string>> (maxNumberOfLists);
for (int i = 1; i <= maxNumberOfLists; i++)
myLists[i] = new List<string>();

然后您可以访问您的列表,例如

var firstList = myLists[1];

通常我会推荐一个数组,但这会为您提供从 1 到 5 而不是从 0 到 4 的列表,这似乎就是您想要的。

关于c# - 列表字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13601151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com