/// <summary> /// [多值多列]设置值通用方法 /// </summary> /// <typeparam name="TEntity">泛型实体</typeparam> /// <param name="entity">实体</param> /// <param name="indexStart">开奖号开始</param> /// <param name="indexEnd">开奖号结束</param> /// <param name="count">项中列的个数</param> /// <param name="minNum">项最小值</param> /// <param name="maxNum">项最大值</param> /// <param name="index">项索引</param> /// <param name="missNumber">遗漏值</param> /// <param name="lastMiss">上期遗漏</param> /// <param name="maxMiss">最大遗漏</param> /// <param name="times">遗漏次数</param> /// <param name="avgMiss">平均遗漏</param> private static void GetMultiValue <TEntity>(TEntity entity, int indexStart, int indexEnd, int minNum, int maxNum, int[] index, int[] missNumber, int[] lastMiss, int[] maxMiss, int[] times, int[] avgMiss, int RecordCount) where TEntity : LotteryOpenCode { IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd); for (int i = maxNum; i >= minNum; i--) { missNumber[i - minNum]++; if (list.Contains(i)) { index[i - minNum]++; if (null != lastMiss) { lastMiss[i - minNum] = missNumber[i - minNum];//上期遗漏 } missNumber[i - minNum] = 0; if (null != times) { times[i - minNum]++; } } //最大遗漏 if (null != maxMiss) { if (missNumber[i - minNum] > maxMiss[i - minNum]) { maxMiss[i - minNum] = missNumber[i - minNum]; } } // avgMiss[i - minNum] = maxMiss[i - minNum] / (times[i - minNum] + 1);//计算平均遗漏 if (null != avgMiss && null != times) { avgMiss[i - minNum] = (RecordCount - times[i - minNum]) / (times[i - minNum] + 1);//计算平均遗漏 } } }
public static void SetEbtxtItemValue <TEntity>(TEntity entity, int indexStart, int indexEnd, int count, int minNum, int maxNum, ref int[] index, ref int[] missNumber, ref int[] lastMiss, ref int[] maxMiss, ref int[] times, ref int[] avgMiss, int RecordCount, string[] ItemString) where TEntity : LotteryOpenCode { IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd); int[] k3s = new int[list.Count]; for (int i = 0; i < list.Count; i++) { k3s[i] = list[i]; } Array.Sort(k3s); List <string> results = new List <string>(); if (k3s[0] != k3s[1] || k3s[1] != k3s[2] || k3s[0] != k3s[2]) { results.Add("二不同"); } if (k3s[0] == k3s[1] || k3s[1] == k3s[2] || k3s[0] == k3s[2]) { results.Add("二同"); } for (int i = maxNum; i >= minNum; i--) { missNumber[i - minNum]++; if (results.Contains(ItemString[i])) { index[i - minNum]++; if (null != lastMiss) { lastMiss[i - minNum] = missNumber[i - minNum];//上期遗漏 } missNumber[i - minNum] = 0; if (null != times) { times[i - minNum]++; } } //最大遗漏 if (null != maxMiss) { if (missNumber[i - minNum] > maxMiss[i - minNum]) { maxMiss[i - minNum] = missNumber[i - minNum]; } } // avgMiss[i - minNum] = maxMiss[i - minNum] / (times[i - minNum] + 1);//计算平均遗漏 if (null != avgMiss && null != times) { avgMiss[i - minNum] = (RecordCount - times[i - minNum]) / (times[i - minNum] + 1);//计算平均遗漏 } } }
public static void SpecialValue_TCDLT_ChuHaoPL <TEntity>(TEntity entity, int indexStart, int indexEnd, int count, int minNum, int maxNum, ref int[] index, ref int[] itemIndex) where TEntity : LotteryOpenCode { IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd); for (int i = maxNum; i >= minNum; i--) { if (list.Contains(i)) { itemIndex[i - minNum]++; } } }