//范围截取的(奖金最高、 概率最高)Types = 1 是奖金最高 Types = 2是概率最高 private List<string> GetRangeBonus(int Min, int Types, List<string> ListR) { List<Netball> List = DataGrid1.ItemsSource as List<Netball>; List<Odds> ListOdd = new List<Odds>(); for (int i = 0; i < List.Count; i++) { //胜平负的赔率类 Odds Odd = new Odds(); Odd.Frist = List[i].FristOdds; Odd.Next = List[i].NextOdds; Odd.Last = List[i].LastOdds; Odd.Id = List[i].Id; ListOdd.Add(Odd); } List<string> ListStr = new List<string>(); List<NumOrders> ListNumOrder = new List<NumOrders>(); int j = 0; double Odds = 1.00; #region foreach (string s in ListR) { NumOrders Orders = new NumOrders(); foreach (char c in s) { switch (c) { case '3': Odds *= ListOdd[j].Frist; break; case '1': Odds *= ListOdd[j].Next; break; case '0': Odds *= ListOdd[j].Last; break; default: Odds *= 1.00; break; } j++; } Orders.Nums = s; Orders.Odds = Odds * 2; ListNumOrder.Add(Orders);//ListNumOrder里放的是 投注号码和号码赔率 j = 0; Odds = 1.00; } #endregion ListNumOrder.Sort(delegate(NumOrders order1, NumOrders order2) { return Comparer<double>.Default.Compare(order1.Odds, order2.Odds); }); if (Types == 1) { int k = 1; for (int i = ListNumOrder.Count - 1; i >= 0; i--) { if (k <= Min) { ListStr.Add(ListNumOrder[i].Nums); k++; } else { break; } } } else { for (int n = 0; n < ListNumOrder.Count; n++) { if (n < Min) { ListStr.Add(ListNumOrder[n].Nums); } else { break; } } } return ListStr; }
//范围截取的(奖金最高、概率最高)Types = 1 是奖金最高 Types = 2是概率最高 List<string> GetRangeBonus(int Min, int Types, List<string> ListR) { List<string> ListStr = new List<string>(); List<NumOrders> ListNumOrder = new List<NumOrders>(); double ProductOdd = 1.00; double Odd = 0.00; int k = 0; foreach (string s in ListR) { NumOrders Orders = new NumOrders(); ProductOdd = 1.00; k = 0; for (int i = 0; i < s.Length; i += 2) { Odd = ReturnOdds(s[i].ToString() + s[i + 1].ToString(), k); ProductOdd *= Odd; k++; } Orders.Nums = s; Orders.Odds = ProductOdd; ListNumOrder.Add(Orders);//ListNumOrder里放的是 投注号码和号码赔率 } ListNumOrder.Sort(delegate(NumOrders order1, NumOrders order2) { return Comparer<double>.Default.Compare(order1.Odds, order2.Odds); }); if (Types == 1) { int j = 1; for (int i = ListNumOrder.Count - 1; i >= 0; i--) { if (j <= Min) { ListStr.Add(ListNumOrder[i].Nums); j++; } else { break; } } } else { for (int i = 0; i < ListNumOrder.Count; i++) { if (i < Min) { ListStr.Add(ListNumOrder[i].Nums); } else { break; } } } return ListStr; }
//指数过滤的(最低SP命中和最高SP命中) List<string> ReturnMostOdds(int MostType) { List<NumOrders> ListTemp = new List<NumOrders>(); List<string> ListStr = new List<string>(); var selfcols = DataGrid1.Columns[0];//第1列 是首次末的按钮 foreach (var item in DataGrid1.ItemsSource) //遍历第1列 { ListTemp.Clear(); var cells = selfcols.GetCellContent(item); if (cells != null) { Grid Grid = cells as Grid; StackPanel Sp = Grid.Children[0] as StackPanel; StackPanel Sp1 = Sp.Children[1] as StackPanel; foreach (Button button1 in (Sp1.Children[0] as StackPanel).Children) { SolidColorBrush b_Brush = (SolidColorBrush)(button1.Background); if (b_Brush.Color.ToString() == "#FFFF0000") { NumOrders Orders = new NumOrders(); Orders.Odds = Netball.RetuntDouble(ToolTipService.GetToolTip(button1).ToString()); Orders.Nums = button1.Content.ToString(); ListTemp.Add(Orders); } } foreach (Button button2 in (Sp1.Children[1] as StackPanel).Children) { SolidColorBrush b_Brush = (SolidColorBrush)(button2.Background); if (b_Brush.Color.ToString() == "#FFFF0000") { NumOrders Orders = new NumOrders(); Orders.Odds = Netball.RetuntDouble(ToolTipService.GetToolTip(button2).ToString()); Orders.Nums = button2.Content.ToString(); ListTemp.Add(Orders); } } foreach (Button button3 in (Sp1.Children[2] as StackPanel).Children) { SolidColorBrush b_Brush = (SolidColorBrush)(button3.Background); if (b_Brush.Color.ToString() == "#FFFF0000") { NumOrders Orders = new NumOrders(); Orders.Odds = Netball.RetuntDouble(ToolTipService.GetToolTip(button3).ToString()); Orders.Nums = button3.Content.ToString(); ListTemp.Add(Orders); } } } ListTemp.Sort(delegate(NumOrders order1, NumOrders order2) { return Comparer<double>.Default.Compare(order1.Odds, order2.Odds); }); if (MostType == 1) { ListStr.Add(ListTemp.First().Nums.ToString());//取赔率最小的单号 } else if (MostType == 2) { ListStr.Add(ListTemp.Last().Nums.ToString());//取赔率最小的单号 } } return ListStr; }
//范围截取的(奖金最高、 概率最高)Types = 1 是奖金最高 Types = 2是概率最高 List<string> GetRangeBonus(int Min, int Types, List<string> ListR) { List<Netball> List = DataGrid1.ItemsSource as List<Netball>; List<SumIn> ListOdd = new List<SumIn>(); for (int i = 0; i < List.Count; i++) { //胜平负的赔率类 SumIn Odd = new SumIn(); Odd.I0 = List[i].In0; Odd.I1 = List[i].In1; Odd.I2 = List[i].In2; Odd.I3 = List[i].In3; Odd.I4 = List[i].In4; Odd.I5 = List[i].In5; Odd.I6 = List[i].In6; Odd.I7 = List[i].In7; Odd.id = List[i].Id; ListOdd.Add(Odd); } List<string> ListStr = new List<string>(); List<NumOrders> ListNumOrder = new List<NumOrders>(); int j = 0; double Odds = 1.00; #region foreach (string s in ListR) { NumOrders Orders = new NumOrders(); foreach (char c in s) { switch (c) { case '0': Odds *= ListOdd[j].I0; break; case '1': Odds *= ListOdd[j].I1; break; case '2': Odds *= ListOdd[j].I2; break; case '3': Odds *= ListOdd[j].I3; break; case '4': Odds *= ListOdd[j].I4; break; case '5': Odds *= ListOdd[j].I5; break; case '6': Odds *= ListOdd[j].I6; break; case '7': Odds *= ListOdd[j].I7; break; default: Odds *= 1; break; } j++; } Orders.Nums = s; Orders.Odds = Odds * 2; ListNumOrder.Add(Orders);//ListNumOrder里放的是 投注号码和号码赔率 j = 0; Odds = 1.00; } #endregion ListNumOrder.Sort(delegate(NumOrders order1, NumOrders order2) { return Comparer<double>.Default.Compare(order1.Odds, order2.Odds); }); if (Types == 1) { int k = 1; for (int i = ListNumOrder.Count - 1; i >= 0; i--) { if (k <= Min) { ListStr.Add(ListNumOrder[i].Nums); k++; } else { break; } } } else { for (int n = 0; n < ListNumOrder.Count; n++) { if (n < Min) { ListStr.Add(ListNumOrder[n].Nums); } else { break; } } } return ListStr; }