📄 groups.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows .Forms ;
using System.Collections;
namespace cpzh
{
class Groups
{
private static GroupCls group;
private static int[][] finallyResult;
public struct WinResult //预测结果中奖情况结构
{
public int FirstNum; //一等奖注数
public int SecondNum; //二等奖注数
public int ThirdNum; //三等奖注数 3000
public int FourNum; //四等奖注数 200
public int FifthNum; //五等奖注数 10
public int SixthNum; //六等奖注数 5
public int SmallTotalMoney; //三、四、五、六等奖的合计金额假设篮球没选中
public int BigTotalMoney; //三、四、五、六等奖的合计金额假设篮球选中了
}
public Groups()
{
//int[] temp = new int[] { 1, 2, 3, 4, 5,6 };
//this.GetGroup(temp, 3);
}
public Groups(GroupCls groupCls)
{
group = groupCls;
}
public GroupCls Group
{
get
{
return group;
}
set
{
group = value ;
}
}
public int[][] FinallyResult
{
get
{
return finallyResult;
}
set
{
finallyResult = value;
}
}
#region//拿最终结果填充listview控件
/// <summary>
/// 拿最终结果填充listview控件
/// </summary>
/// <param name="lv">listview控件名</param>
/// <param name="result" >要填充的数据数组</param>
/// <param name="MaxValueNum">要显示的最大记录数</param>
public void FillListView(int[][] result,ListView lv, int MaxValueNum)
{
string str;
string sTemp;
str = "";
sTemp = "";
lv.Items.Clear();
lv.View = View.List;
for (int i = 0; i < result.Length; i++)
{
if (i >= MaxValueNum )
{
return ;
}
str = result[i][0].ToString();
if (str.Length == 1)
{
str = str + " ";
}
for (int j = 1; j < 6; j++)
{
sTemp = result[i][j].ToString();
if (sTemp.Length == 1)
{
str = str + " " + result[i][j].ToString() + " ";
}
else
{
str = str + " " + result[i][j].ToString();
}
}
str = str + " ||";
lv.Items.Add(str);
}
}
/// <summary>
/// 根据数组来填充ListView
/// </summary>
/// <param name="result">原始数组</param>
/// <param name="lv">ListView控件名称</param>
/// <param name="startValue">起始填充位置</param>
/// <param name="MaxValueNum">填充数据的个数</param>
public void FillListView(int[][] result, ListView lv, int startValue,int MaxValueNum)
{
string str;
string sTemp;
int resultLength;
int maxResult;
str = "";
sTemp = "";
lv.Clear();
lv.View = View.List;
resultLength = result.Length;
maxResult =startValue+MaxValueNum;
if (resultLength < startValue)
{
return;
}
for (int i = startValue ; i < resultLength; i++)
{
if (i >=maxResult )
{
return ;
}
str = result[i][0].ToString();
if (str.Length == 1)
{
str = str + " ";
}
for (int j = 1; j < 6; j++)
{
sTemp = result[i][j].ToString();
if (sTemp.Length == 1)
{
str = str + " " + result[i][j].ToString() + " ";
}
else
{
str = str + " " + result[i][j].ToString();
}
}
str = str + " ||";
lv.Items.Add(str);
}
}
#endregion
#region//获得最终结果集
/// <summary>
/// 获得最终结果集
/// </summary>
/// <returns></returns>
public int[][] GetFinallyResult()
{
int[] temp;
int[][] tempResult;
int[][] firstGroup;
int[][] secondGroup;
int[][] thirdGroup;
int firstItemTotal;
int secondItemTotal;
int thirdItemTotal;
int iNum;
int iTemp;
iNum = 0;
iTemp = 0;
temp = new int[6];
if (group.GetFirstNum() == 0)
{
firstItemTotal = 0;
firstGroup = null;
}
else
{
firstItemTotal = GetGroupItemTotal(group.GetFirstGroup().Length, group.GetFirstNum());
firstGroup = GetGroup(group.GetFirstGroup(), group.GetFirstNum());
}
if (group.GetSecondNum() == 0)
{
secondItemTotal =0;
secondGroup = null;
}
else
{
secondItemTotal = GetGroupItemTotal(group.GetSecondGroup().Length, group.GetSecondNum());
secondGroup = GetGroup(group.GetSecondGroup(), group.GetSecondNum());
}
if (group.GetThirdNum() == 0)
{
thirdItemTotal =0;
thirdGroup = null;
}
else
{
thirdItemTotal = GetGroupItemTotal(group.GetThirdGroup().Length, group.GetThirdNum());
thirdGroup = GetGroup(group.GetThirdGroup(), group.GetThirdNum());
}
//判断在那几个区中选数据了,设置最终输组的纪录数
if (firstItemTotal > 0)
{
if (secondItemTotal > 0)
{
if (thirdItemTotal > 0)
{
//三个区域都有选择
tempResult = new int[firstItemTotal * secondItemTotal * thirdItemTotal][];
for (int i = 0; i < firstItemTotal; i++)
{
for (int j = 0; j < secondItemTotal; j++)
{
for (int k = 0; k < thirdItemTotal; k++)
{
iNum = iNum + 1;
tempResult[iNum - 1] = new int[6];
iTemp = 0;
//把第一区的结果赋给结果数组
for (int n = 0; n < group.GetFirstNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][n] = int.Parse(firstGroup[i][n].ToString());
}
iTemp = group.GetFirstNum();
//把第二区的结果赋给结果数组
for (int n = 0; n < group.GetSecondNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][iTemp - 1] = int.Parse(secondGroup[j][n].ToString());
}
//把第三区的结果赋给结果数组
for (int n = 0; n < group.GetThirdNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][iTemp - 1] = int.Parse(thirdGroup[k][n].ToString());
}
}
}
}
}
else
{
//一二区
tempResult = new int[firstItemTotal * secondItemTotal][];
for (int i = 0; i < firstItemTotal; i++)
{
for (int j = 0; j < secondItemTotal; j++)
{
iNum = iNum + 1;
tempResult[iNum - 1] = new int[6];
iTemp = 0;
for (int n = 0; n < group.GetFirstNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][n] = int.Parse(firstGroup[i][n].ToString());
}
iTemp = group.GetFirstNum();
for (int n = 0; n < group.GetSecondNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][iTemp - 1] = int.Parse(secondGroup[j][n].ToString());
}
}
}
}
}
else
{
if (thirdItemTotal > 0)
{
//一三区
tempResult = new int[firstItemTotal * thirdItemTotal][];
for (int i = 0; i < firstItemTotal; i++)
{
for (int k = 0; k < thirdItemTotal; k++)
{
iNum = iNum + 1;
tempResult[iNum - 1] = new int[6];
iTemp = 0;
for (int n = 0; n < group.GetFirstNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][n] = int.Parse(firstGroup[i][n].ToString());
}
iTemp = group.GetFirstNum();
for (int n = 0; n < group.GetThirdNum(); n++)
{
iTemp = iTemp + 1;
tempResult[iNum - 1][iTemp - 1] = int.Parse(thirdGroup[k][n].ToString());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -