hch
7 天以前 eb27e5fd31f73b998a4bbd85511a31e40b8c61b7
Main/Config/ConfigParse.cs
@@ -62,6 +62,7 @@
        return string.Empty;
    }
    //一维数组:来源格式如 1|2|3|4
    public static T[] GetMultipleStr<T>(string msg) where T : struct
    {
        string[] segs = GetMultipleStr(msg);
@@ -319,13 +320,35 @@
        return result;
    }
    //json格式: {"1":{"1":1,"2":2},"2":{"3":3,"4":4}}
    public static Dictionary<int, Dictionary<int, int>> ParseDictInDict(string jsonStr)
    {
        if (jsonStr == "{}" || string.IsNullOrEmpty(jsonStr))
        {
            return new Dictionary<int, Dictionary<int, int>>();
        }
        var dict = JsonMapper.ToObject<Dictionary<string, Dictionary<string, int>>>(jsonStr);
        Dictionary<int, Dictionary<int, int>> result = new Dictionary<int, Dictionary<int, int>>();
        foreach (var item in dict)
        {
            Dictionary<int, int> subDict = new Dictionary<int, int>();
            foreach (var subItem in item.Value)
            {
                subDict[int.Parse(subItem.Key)] = subItem.Value;
            }
            result[int.Parse(item.Key)] = subDict;
        }
        return result;
    }
    //万分率转为每个id对应的概率 [[万分概率,id1],[万分概率,id2]]
    public static Dictionary<int, int> GetRateDict(int[][] rateArray)
    {
        Dictionary<int, int> dic = new Dictionary<int, int>();
        //概率为 减去上一个概率的值即为当前ID概率
        for (int i = 0;i< rateArray.Length; i++)
        for (int i = 0; i < rateArray.Length; i++)
        {
            if (i > 0)
            {