C#怎么解析Lua传过来的table????求大神了!!! 10
我的Lua代码:大概就是传一个table给c#,类似这样tabb={"小明","小红"},return给了C#这边;我的C#代码:stringreferResult;re...
我的Lua代码:
大概就是传一个table给c#,类似这样tabb={"小明","小红"},return给了C#这边;
我的C#代码:
string referResult;
referResult = this.inputID_TB.Text;
Lua luaVM = new Lua();
luaVM.DoFile("RewardTest.lua");//我的lua文件
LuaFunction luaFunc = luaVM.GetFunction("RewardTest");//lua文件中的函数
if(luaFunc != null)
{
object[] objArr = luaFunc.Call(this.inputID_TB.Text);//这里传值给lua的函数
//从这里开始我想解这个table,当然我知道下面这样写不对的;
LuaTable tb = luaVM.GetTable("objArr");
Dictionary<object,object> dict = luaVM.GetTableDict(tb);
foreach (KeyValuePair<object,object> de in dict)
{
referResult += "\r\n------------" + de.Value.ToString();
}
}
差不多就是这样子的,上面这样写是会有问题的,首先报了个错误:
无法将类型“System.Collections.Specialized.ListDictionary”隐式转换为“System.Collections.Generic.Dictionary<object,object>”
应该怎么处理的?? 而且这样去解Lua传过来的table对不对呀??? 展开
大概就是传一个table给c#,类似这样tabb={"小明","小红"},return给了C#这边;
我的C#代码:
string referResult;
referResult = this.inputID_TB.Text;
Lua luaVM = new Lua();
luaVM.DoFile("RewardTest.lua");//我的lua文件
LuaFunction luaFunc = luaVM.GetFunction("RewardTest");//lua文件中的函数
if(luaFunc != null)
{
object[] objArr = luaFunc.Call(this.inputID_TB.Text);//这里传值给lua的函数
//从这里开始我想解这个table,当然我知道下面这样写不对的;
LuaTable tb = luaVM.GetTable("objArr");
Dictionary<object,object> dict = luaVM.GetTableDict(tb);
foreach (KeyValuePair<object,object> de in dict)
{
referResult += "\r\n------------" + de.Value.ToString();
}
}
差不多就是这样子的,上面这样写是会有问题的,首先报了个错误:
无法将类型“System.Collections.Specialized.ListDictionary”隐式转换为“System.Collections.Generic.Dictionary<object,object>”
应该怎么处理的?? 而且这样去解Lua传过来的table对不对呀??? 展开
1个回答
展开全部
直接foreach luaVM.GetTableDict(tb)不就行了。为何必须要转成普通的Dictionary?
更多追问追答
追问
foreach (KeyValuePair de in luaVM.GetTableDict(tb))
{
referResult += "\r\n------------" + de.Value.ToString();
}
是这样么?可是不行啊,会报unprotected error in call to Lua API
有什么其他解决方案么?
追答
foreach (var de in luaVM.GetTableDict(tb))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询