婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

Lua Table轉C# Dictionary的方法示例

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

table特性

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

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

table 的變量只是一個地址引用,對 table 的操作不會產生數據影響

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

table 里保存數據可以是任何類型,包括function和table;

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

引言

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

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

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

{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。。。很簡單啦,就這樣。。。(此處省略幾百字)

然后我

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

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

新建一個項目,取了一個好聽的名字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; //跳過一個逗號,那么繼續解析為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對象,再進行一次解析就好了

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

Install-Package LuaTableToCSharp -Version 1.0.3

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

總結

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

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

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

巨人網絡通訊聲明:本文標題《Lua Table轉C# Dictionary的方法示例》,本文關鍵詞  Lua,Table,轉,Dictionary,的,方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Lua Table轉C# Dictionary的方法示例》相關的同類信息!
  • 本頁收集關于Lua Table轉C# Dictionary的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久亚洲精华液精华液精华液| 无码av免费一区二区三区试看| 国产一区二区三区四| 99在线精品观看| av电影一区二区| 欧美一卡二卡在线| 日本道色综合久久| 99久久精品久久久久久清纯| 欧美性色黄大片| 毛片基地黄久久久久久天堂| 日韩午夜激情视频| 2024国产精品| 亚洲香肠在线观看| 久久99国产精品免费| 午夜日韩在线电影| 日本欧美在线观看| 欧美在线观看你懂的| 成人免费毛片片v| 国产一区二区在线看| 国产一区二区网址| 欧美大片一区二区三区| 亚洲老司机在线| 久久久精品2019中文字幕之3| 亚洲一区二区在线免费看| 国产精品成人免费在线| 久久国产精品一区二区| 欧美极品xxx| 精品影院一区二区久久久| 国产香蕉久久精品综合网| 91精品国产免费| 亚洲视频在线一区| 不卡av电影在线播放| 亚洲素人一区二区| 国产激情一区二区三区| 欧美日韩中字一区| 国产精品国模大尺度视频| 国产中文字幕精品| 成人免费一区二区三区视频 | 欧美午夜片在线观看| 免费成人在线影院| 欧美一级一级性生活免费录像| 欧美专区在线观看一区| 欧美不卡一区二区| 久久久久99精品一区| 亚洲免费成人av| 亚洲午夜在线观看视频在线| 欧美午夜一区二区| 国产乱妇无码大片在线观看| 国产精品国产三级国产专播品爱网| 最新不卡av在线| 亚洲一区二区三区小说| 亚洲免费在线观看视频| 久久久亚洲精品一区二区三区| 国产午夜精品在线观看| 亚洲欧美视频在线观看视频| 一区二区三区在线播放| 欧美视频三区在线播放| 国产精品女同一区二区三区| 日韩精品欧美成人高清一区二区| 99re热这里只有精品视频| www.av精品| 欧美亚洲高清一区二区三区不卡| 精品国产伦一区二区三区观看体验 | av在线播放不卡| 另类成人小视频在线| 久久精品国产**网站演员| 亚洲国产一区视频| 日本成人在线看| 国产一区二区精品久久91| 国产成人av福利| 中文字幕在线不卡视频| 欧美一级片在线| 久久久青草青青国产亚洲免观| 在线视频国内一区二区| 一本色道久久综合亚洲91| 69av一区二区三区| 视频一区视频二区在线观看| 成人精品国产一区二区4080| 91麻豆精品国产自产在线 | 伊人一区二区三区| 亚洲欧洲99久久| 日韩精品一区二区三区视频播放| 成人午夜激情片| 欧美在线看片a免费观看| 亚洲美女视频在线| 在线观看一区二区视频| 精品无人码麻豆乱码1区2区 | 久久综合久久鬼色中文字| 欧美亚洲综合另类| 精品国免费一区二区三区| 欧美大片一区二区三区| 国产精品综合久久| 久久福利视频一区二区| 蜜臀久久99精品久久久久久9| 麻豆国产精品一区二区三区 | 亚洲色欲色欲www| 午夜精品福利一区二区三区av| 欧美大片在线观看一区| 国产午夜精品一区二区三区嫩草| 91精品一区二区三区久久久久久| 国产午夜精品一区二区三区嫩草| 国产一区二区免费看| 久久久www成人免费无遮挡大片| 亚洲国产成人私人影院tom| 国产精品一区免费在线观看| 蜜臀av性久久久久av蜜臀妖精| 老司机午夜精品99久久| 欧美人成免费网站| 亚洲乱码中文字幕| 欧美一区二区三区公司| 一区二区三区在线视频免费| 99精品欧美一区二区三区小说| 日韩视频在线一区二区| 成人免费观看视频| 制服丝袜中文字幕一区| 欧美mv日韩mv亚洲| 日本伊人色综合网| 国产视频一区二区在线| 欧美福利视频一区| 91小视频在线观看| 午夜电影一区二区三区| 一区二区三区在线观看国产| 欧美四级电影网| 亚洲精品大片www| 欧美日韩一区二区欧美激情| 一区二区三区在线视频观看| 精品日韩一区二区三区| 一本到不卡精品视频在线观看| 7777精品伊人久久久大香线蕉 | 捆绑变态av一区二区三区| 91视频com| www日韩大片| 午夜婷婷国产麻豆精品| 日本最新不卡在线| 欧美在线你懂的| 日韩精品一区二区三区四区视频| 中文字幕字幕中文在线中不卡视频| 亚洲成国产人片在线观看| 欧美在线观看一区二区| 国产精品不卡在线观看| av福利精品导航| 亚洲精品五月天| 欧美国产精品一区二区三区| 久久久久久久久久久久久女国产乱 | 悠悠色在线精品| 午夜国产精品影院在线观看| 色综合色狠狠天天综合色| 欧美一区二区三区免费在线看| 亚洲欧美色图小说| 成人免费高清在线观看| 亚洲三级免费电影| 国产精品性做久久久久久| 日韩女优电影在线观看| 欧美福利一区二区| 成人少妇影院yyyy| 国产成人综合视频| 正在播放亚洲一区| 国产在线播放一区二区三区| 国产精品亚洲一区二区三区妖精 | 欧美亚洲动漫精品| 337p日本欧洲亚洲大胆色噜噜| 蜜桃在线一区二区三区| 久久国产精品色| 亚洲第一综合色| 亚洲免费av高清| 日韩免费电影一区| 欧美日韩视频在线第一区| 日韩美女视频在线| av在线播放成人| 欧美极品另类videosde| 黄色日韩三级电影| 久久蜜桃av一区精品变态类天堂| 色综合天天在线| 免费高清在线一区| 欧美精品一区二区在线观看| 色噜噜狠狠一区二区三区果冻| 日韩成人一级大片| 精品一区二区三区免费观看| 国产在线精品一区二区三区不卡| 精品国产免费视频| 中文一区二区在线观看| 欧美极品美女视频| 波多野结衣视频一区| 国产欧美日韩三级| 久久se这里有精品| 国产馆精品极品| 国产亚洲人成网站| 精品少妇一区二区三区日产乱码 | 亚洲国产一区视频| 一区二区三区高清在线| 亚洲成人自拍偷拍| 亚洲午夜电影网| 精品国产一区二区亚洲人成毛片| 日韩综合小视频| 亚洲码国产岛国毛片在线| 国产在线精品免费av| 国产精品911| 亚洲成av人片在www色猫咪| 欧美日韩精品一区二区天天拍小说 | 精品国一区二区三区|