如何向数组添加值

时间:2016-01-25 04:33:25

标签: c# lua

我目前正在编写一种编程语言,而我的朋友要求我将其转换为控制台应用程序,到目前为止它还没有顺利进行

if (input.Contains(""))
{
    string name = input.Substring(0, 3);
    string value = input.Substring(4);
    Console.WriteLine("Name:" + name + " " +  "Value:" + value);
    vars[Convert.ToInt32(name)] = value;
}

vars[Convert.ToInt32(name)] = value;的帖子一直给我错误 当我运行它上面的前3行时,这是我在控制台str Hello中键入的一个示例,它会打印Name:str Value:Hello但是它会停止程序并显示我的错误

  

输入字符串的格式不正确。

我不熟悉这个错误,但是如果你曾经在Lua中编程过,这就是我想要完成的事情

elseif line:match("^int") then
    local n, v = line:match("^int (.+) = (%d+)")
    vars[n] = v

我在C#中的数组总是有问题,所以如果你能告诉我它有什么不对,那对我很有帮助,提前谢谢。

2 个答案:

答案 0 :(得分:5)

听起来你实际上想要一个Dictionary来保存名称和值的键值对。您只能使用int作为数组的索引,因此字典允许您使用字符串值。

var inputDictionary = new Dictionary<string,string>();
if (input.Contains(""))
{
    string name = input.Substring(0, 3);
    string value = input.Substring(4);
    Console.WriteLine("Name:" + name + " " +  "Value:" + value);
    inputDictionary.Add(name, value);
}

答案 1 :(得分:1)

相反,您可以拥有如下所示的HashTable

        Hashtable hashTable = new Hashtable();
        if (input.Contains(string.Empty))
        {
            hashTable.Add(input.Substring(0, 3), input.Substring(4));
        }