重写一段代码

代码开始

成员
已加入
2014年10月13日
留言内容
6
编程经验
Beginner
我一直很难编写一种更简单和/或精简的方法来重写此方法。这是c#中使用的方法。有没有一种方法可以简化或压缩此代码以使其更易于理解?

C#:
 private void prepareToPrint()
                {
              
                teams.Clear();// Clearing the list of teams
                 //Storing the teams and information in the List
                 foreach (DataRowView row in bindingSource1.List)
                   {
                  //Checking if information is true
                if ((combobox1.Text == "All Teams" || combobox1.Text == row["Home Team"].ToString()
                || combobox1Text == row["Away Team"].ToString())
                && (DateTime)row["Game_Date"] >= datebeg.Value &&
                (DateTime)row["Game_Date"] <= dateEnd2.Value)
                {
                short hScore = (short)row["Home Pts Scored"];
                short aScore = (short)row["Away Pts Scored"];
                string home = row["Home Team"].ToString();
                string away = row["Away Team"].ToString();
                DateTime date = (DateTime)row["Game_Date"];

                teamInfo teamStuff = new teamInfo(hScore, aScore, home, away, date);
                teams.Add(teamStuff);
                    }
               }

         
            }
 

狂暴风暴

知名会员
已加入
2014年8月6日
留言内容
85
地点
南非鲁德普特
编程经验
10+
您可以将if分为两个if语句。

// check team
if (combobox1.Text == "All Teams" ||
    combobox1.Text == row["Home Team"].ToString() ||
    combobox1Text == row["Away Team"].ToString())
{
    // check date
    if ((DateTime)row["Game_Date"] >= datebeg.Value &&
        (DateTime)row["Game_Date"] <= dateEnd2.Value)
    {
        // do your stuff
    }
}


您也可以将teamInfo构造函数添加到teamInfo类,该构造函数将datarowview作为参数,并在该构造函数内部分配值。在这种情况下,您只需将行传递给构造函数。

teamInfo teamStuff = new teamInfo(row);
 
最佳 底部