亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Lua Table轉C# Dictionary的方法示例

Lua Table轉C# Dictionary的方法示例

熱門標簽:杞縣地圖標注app 昆明電話外呼系統(tǒng)好么 外呼系統(tǒng)一天耗費多少流量 衡水外呼線路解決 陜西便宜電銷機器人軟件 免費門店地圖標注注冊入駐 ??谥悄苷Z音電銷機器人好用嗎 電話機器人每天搜索多少次 艾比利外呼系統(tǒng)

table特性

table是一個“關聯(lián)數(shù)組”,數(shù)組的索引可以是數(shù)字或者是字符串,所有索引值都需要用 "["和"]" 括起來;如果是字符串,還可以去掉引號和中括號; 即如果沒有[]括起,則認為是字符串索引

table 的默認初始索引一般以 1 開始,如果不寫索引,則索引就會被認為是數(shù)字,并按順序自動從1往后編;

table 的變量只是一個地址引用,對 table 的操作不會產(chǎn)生數(shù)據(jù)影響

table 不會固定長度大小,有新數(shù)據(jù)插入時長度會自動增長

table 里保存數(shù)據(jù)可以是任何類型,包括function和table;

table所有元素之間,總是用逗號 "," 隔開;

引言

因為在游戲公司做web后臺開發(fā),經(jīng)常會涉及到取游戲服務器的數(shù)據(jù)庫里面讀寫各種操作。

昨天下午,服務器那邊讓我讀一個配置顯示到后臺,讓運營大佬們可以在web后臺配置游戲參數(shù)。

本來以為很簡單個事情,結果我讀出那個二進制的字段,居然是這種格式

{1=0,2=0,3=0,4=2,5={},6=0,7={1=118,s010GameConfig={s008wPayType=0,s009wCostType=0,s015dwReservedRule3=3,s015dwReservedRule2=0,s006ClubId=0,s010wCostValue=0,s010wCellScore=1,s014wPlayCountRule=10,s013wHadPlayCount=0,s010dwPlayRule=0,s010wSubGameID=114,s009wMaxScore=0,s015dwReservedRule1=0,s015sPrivateTableID=0}

服務器的兄弟告訴我,這是lua的table。。。很簡單啦,就這樣。。。(此處省略幾百字)

然后我

然后我在網(wǎng)上搜索有么有前輩大佬留下的現(xiàn)成輪子。。。結果不是要加載一個lua vm的虛擬機庫就是各種麻煩還不知道能不能解決的一些方案。。。。

博主好歹也是有四年+工作經(jīng)驗的人了,沒有合適的就自己寫嘛,就當鍛煉一下自己咯

新建一個項目,取了一個好聽的名字SharpluaTable

class SharpluaTable
 {
 string luatable = "";
 //從{開始解析
 //然后按等號分割,等號前后為一個鍵值對
 //逗號之后,為另一個鍵值對
 //如果遇到中途遇到{,一直解析到}為止,都為值
 Dictionarystring, string> dic = new Dictionarystring, string>();


 public Dictionarystring, string> Parse(string luatable)
 {
  this.luatable = luatable;
  //解析0位和最后一位,判斷是否是luatable格式

  if (luatable[0] != '{')
  {
  throw new Exception("解析lua失敗,格式錯誤");
  }

  if (luatable[luatable.Length - 1] != '}')
  {
  throw new Exception("解析lua失敗,格式錯誤");
  }
  string luaKey = string.Empty, LuaValue = string.Empty;
  //標示解析Key還是Value,如果true,那么解析到Key里面,如果是false,那么解析到value里面
  bool iskey = true;


  for (int i = 1; i  luatable.Length; i++)
  {          //如果是最后一個鍵值對,那么直接就完了  if (i+1==luatable.Lengthluatable[i]=='}')  {   dic.Add(luaKey, LuaValue);   luaKey = string.Empty;   LuaValue = string.Empty;     break;  }
  //如果是逗號,那么存儲當前的key value ,跳過當前字符解析
  if (luatable[i] == ',')
  {
   dic.Add(luaKey, LuaValue);
   luaKey = string.Empty;
   LuaValue = string.Empty;
   iskey = true; //跳過一個逗號,那么繼續(xù)解析為key
   continue;
  }
  else
  {
   if (luatable[i] == '=')
   {
   iskey = false; //如果是等號,那么解析為key,并跳過當前
   continue;
   }
   //如果是二級的{,那么解析到}為止,并把當前的i的值移動到}的下標位置
   if (luatable[i] == '{')
   {
   //LuaValue += luatable[i];
   int kuohaoCount = 0;
   for (int j = i; j  luatable.Length; j++)
   {
    LuaValue += luatable[j];
    if (luatable[j]=='{')
    {
    kuohaoCount += 1;
    }
    if (luatable[j]=='}')
    {
    kuohaoCount -= 1;

    if (kuohaoCount==0)
    {
     i = j;
     break;
    }
    else
    {
     //kuohaoCount -= 1;
    }
    }
   }
   }
   else
   {
   if (iskey)
   {
    luaKey += luatable[i];
   }
   else
   {
    LuaValue += luatable[i];
   }
   }
  }
  }
  return dic;
 }

目前前這個解析類只做了一層解析,如果value值有多層級,我默認把它解析到value里面

測試一下

string luatable = "{1=0,2=0,3=0,4=2,5={},6=0,7={1=118,s010GameConfig={s008wPayType=0,s009wCostType=0,s015dwReservedRule3=3,s015dwReservedRule2=0,s006ClubId=0,s010wCostValue=0,s010wCellScore=1,s014wPlayCountRule=10,s013wHadPlayCount=0,s010dwPlayRule=0,s010wSubGameID=114,s009wMaxScore=0,s015dwReservedRule1=0,s015sPrivateTableID=0},s006GameID=114},8=1}";

   SharpluaTable lua = new SharpluaTable();
   var dic = lua.Parse(luatable);
   Console.WriteLine(dic["7"]);
   SharpluaTable luaitem = new SharpluaTable();
    var items = luaitem.Parse(dic["7"]);

如果有多層級的,那就再new一個SharpLuaTable對象,再進行一次解析就好了

已經(jīng)提交到Nuget上了,有需要使用大兄弟可以直接命令

Install-Package LuaTableToCSharp -Version 1.0.3

代碼提交到了github,:https://github.com/QingChengCoder/LuaTableToCSharp,大家也可以本地下載

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • ToLua框架下C#與Lua代碼的互調操作
  • C#泛型方法在lua中表示的一種設計詳解
  • C#和lua相互調用的方法教程
  • 如何在C#中集成Lua腳本

標簽:昌都 臨滄 西寧 宿遷 南京 營口 泰安

巨人網(wǎng)絡通訊聲明:本文標題《Lua Table轉C# Dictionary的方法示例》,本文關鍵詞  Lua,Table,轉,Dictionary,的,方法,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua Table轉C# Dictionary的方法示例》相關的同類信息!
  • 本頁收集關于Lua Table轉C# Dictionary的方法示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    天天做日日干| 亚洲爆爽| 国产网站麻豆精品视频| 99久久网站| a级精品九九九大片免费看| 日本免费看视频| 精品视频在线观看一区二区三区| 精品国产一区二区三区国产馆| 九九久久99| 一级片片| 久久国产一区二区| 精品美女| 99色播| 国产精品自拍亚洲| 中文字幕97| 99久久精品国产免费| 99色播| a级精品九九九大片免费看| 久久精品成人一区二区三区| 欧美激情一区二区三区视频| 国产视频在线免费观看| 国产91精品露脸国语对白| 日日夜夜婷婷| 久久国产一区二区| 国产精品免费精品自在线观看| 黄视频网站在线免费观看| 精品视频免费在线| 成人a大片高清在线观看| 日本伦理片网站| 香蕉视频久久| 精品国产亚洲人成在线| 毛片电影网| 九九久久99| 成人免费一级毛片在线播放视频| 99久久精品费精品国产一区二区| 999久久狠狠免费精品| 国产精品免费精品自在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产福利免费观看| 欧美激情一区二区三区中文字幕| 国产不卡在线播放| 国产成a人片在线观看视频| 欧美激情在线精品video| 国产不卡高清| 国产欧美精品午夜在线播放| 麻豆网站在线免费观看| 99热热久久| 国产精品免费精品自在线观看| 国产亚洲免费观看| 日韩欧美一二三区| 欧美爱色| 免费一级片在线观看| 国产亚洲精品aaa大片| 韩国三级香港三级日本三级la| 精品美女| 美女免费精品视频在线观看| 国产亚洲精品aaa大片| 麻豆网站在线免费观看| 一级片片| 成人a大片高清在线观看| 欧美激情一区二区三区中文字幕| 国产视频一区在线| 九九免费精品视频| 日韩欧美一二三区| 国产欧美精品午夜在线播放| 国产91视频网| 九九免费精品视频| 黄视频网站在线免费观看| 国产福利免费观看| 成人影院久久久久久影院| 天天做日日干| 亚洲 欧美 91| 日韩中文字幕在线亚洲一区| 精品国产三级a∨在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产精品123| 韩国妈妈的朋友在线播放| 99热精品一区| 免费一级片在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日本特黄一级| 黄视频网站免费观看| 国产一区二区精品久久| 久久精品成人一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美一级视频免费| 欧美日本韩国| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲 欧美 91| 国产一级强片在线观看| 国产91精品露脸国语对白| 欧美大片a一级毛片视频| 国产美女在线观看| 欧美另类videosbestsex视频| 欧美爱色| 国产成人啪精品| 高清一级片| 日本免费看视频| 亚洲 欧美 91| 日本在线www| 国产一级强片在线观看| 国产综合成人观看在线| 国产伦久视频免费观看视频| 999久久狠狠免费精品| 青青久久国产成人免费网站| 欧美激情一区二区三区视频| 日韩欧美一二三区| 亚洲天堂免费观看| 国产成人啪精品| 青青久久国产成人免费网站| 欧美爱色| 日韩中文字幕在线亚洲一区| 四虎影视久久久| 黄视频网站免费观看| 久久精品成人一区二区三区| 国产一级强片在线观看| 欧美大片a一级毛片视频| 久久久久久久免费视频| 黄视频网站在线免费观看| 国产成人精品综合| 国产一区国产二区国产三区| 二级特黄绝大片免费视频大片| 久久成人综合网| 亚洲 男人 天堂| 久久久久久久免费视频| 久久精品成人一区二区三区| 国产精品免费精品自在线观看| 毛片电影网| 国产福利免费观看| 日本在线www| 麻豆网站在线免费观看| 久久国产精品自由自在| 久久国产一区二区| 亚欧视频在线| 99久久精品国产免费| 美女免费精品视频在线观看| 999久久狠狠免费精品| 亚洲 男人 天堂| 精品国产亚洲人成在线| 欧美一级视频免费| 国产美女在线观看| 国产不卡高清| 黄视频网站免费观看| 国产视频一区在线| 91麻豆高清国产在线播放| 欧美另类videosbestsex视频| 天天做人人爱夜夜爽2020 | 国产亚洲精品aaa大片| 黄视频网站在线免费观看| 国产亚洲精品aaa大片| 香蕉视频久久| 天天做人人爱夜夜爽2020 | 亚洲爆爽| 欧美爱色| 日日夜夜婷婷| 天堂网中文在线| 欧美一级视频免费| 99色播| 亚洲 男人 天堂| 久久精品免视看国产明星| 天天做人人爱夜夜爽2020 | 一级女性大黄生活片免费| 亚欧成人毛片一区二区三区四区| 亚洲 男人 天堂| 国产伦久视频免费观看视频| 久久国产一区二区| 毛片电影网| 国产网站在线| 四虎影视久久久| 精品国产三级a∨在线观看| 精品视频在线观看一区二区三区| 99久久网站| 日本免费看视频| 亚欧视频在线| 日本伦理片网站| 日本免费看视频| 97视频免费在线| 黄视频网站在线免费观看| 久久久成人影院| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产成人精品综合| 可以免费看污视频的网站| 日本特黄一级| 日韩中文字幕在线亚洲一区| 四虎影视久久久| 日韩在线观看视频黄| 久久成人综合网| 国产91视频网| 一级毛片看真人在线视频| 高清一级片| 中文字幕一区二区三区精彩视频 | 国产伦精品一区二区三区无广告 | 国产网站麻豆精品视频| 国产麻豆精品免费密入口| 夜夜操天天爽| 国产精品自拍亚洲| 日韩欧美一二三区| 欧美激情一区二区三区中文字幕| 色综合久久天天综合观看| 999久久狠狠免费精品|