如何从Lua字符串获取System.String,使用C#的LuaInterface。

最近我开始使用 LuaInterface,以便能够从 C# 程序运行 Lua 脚本。我编写了一个返回字符串的测试脚本:

teststring = "PRIVMSG #```` : SUCCESS!"
return testring

然后我试图通过以下方式将其添加到 C# 队列 <string> 中:

sendQueue.Enqueue(lua.DoFile(script).ToString());

然而,这并没有返回一个字符串。相反,它返回了一个 System.Object[]。我该如何让它返回 System.String?

点赞
用户2776883
用户2776883

一个朋友偶然发现了答案。为了使之产生一个实际的字符串,你应该做如下操作:

var output = lua.DoFile(script).First().ToString();
Console.WriteLine(output);
sendQueue.Enqueue(output);

我不明白为什么这个方法会起作用,只知道它确实起作用了。

2013-09-14 14:08:56