Beispiel #1
0
        public override bool Equals(object obj)
        {
            if (!(obj is DistanceModel))
            {
                return(false);
            }

            DistanceModel model = (DistanceModel)obj;

            return(PreNumber == model.PreNumber && this.PosNumber == model.PosNumber);
        }
Beispiel #2
0
        private void CreateDistanceTableSpeedVer(Dictionary <int, LotteryListRecord> listModels,
                                                 Dictionary <int, Dictionary <DistanceModel, int> > timeDataTable, Dictionary <int, Dictionary <DistanceModel, int> > timeToSPdataTable,
                                                 int maxNumber, int maxNumberSP)
        {
            List <int> numberList = new List <int>();

            for (int i = 1; i <= maxNumber; i++)
            {
                numberList.Add(i);
            }

            List <int> spNumberList = new List <int>();

            for (int i = 1; i <= maxNumberSP; i++)
            {
                spNumberList.Add(i);
            }

            for (int i = 1; i < listModels.Count; i++)
            {
                timeDataTable.Add(i, new Dictionary <DistanceModel, int>());
                timeToSPdataTable.Add(i, new Dictionary <DistanceModel, int>());

                foreach (var preNum in numberList)
                {
                    foreach (var posNum in numberList)
                    {
                        timeDataTable[i].Add(new DistanceModel {
                            PreNumber = preNum, PosNumber = posNum
                        }, 0);
                    }
                }

                foreach (var preNum in spNumberList)
                {
                    foreach (var posNum in spNumberList)
                    {
                        timeToSPdataTable[i].Add(new DistanceModel {
                            PreNumber = preNum, PosNumber = posNum
                        }, 0);
                    }
                }
            }

            int firstIndex = listModels.OrderBy(p => p.Key).First().Key;
            int lastIndex  = listModels.OrderByDescending(p => p.Key).First().Key;

            for (int posIndex = firstIndex + 1; posIndex <= lastIndex; posIndex++)
            {
                for (int preIndex = firstIndex; preIndex < posIndex; preIndex++)
                {
                    int distance = posIndex - preIndex;

                    foreach (int preNum in listModels[preIndex].NormalList)
                    {
                        foreach (int posNum in listModels[posIndex].NormalList)
                        {
                            timeDataTable[distance][new DistanceModel {
                                                        PreNumber = preNum, PosNumber = posNum
                                                    }]++;
                        }
                    }

                    DistanceModel codeSp = new DistanceModel
                    {
                        PreNumber = listModels[preIndex].Sp,
                        PosNumber = listModels[posIndex].Sp
                    };
                    timeToSPdataTable[distance][codeSp]++;
                }
            }
        }