如何修复此错误,"There is no arguments given that corresponds to the required formal parameter"?
how do I fix this error, "There is no arguments given that corresponds to the required formal parameter"?
如果用户年龄小于 21 或||,我将在 else if 中调用一个方法来使用 for >75 输出消息框。当我尝试调用方法时出现此错误
这是我的代码
public int GetAge(string DOB, DateTime startDate)
{
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month || (startDate.Month == DateTime.Parse(DOB).Month && startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
...
else if (GetAge())
{
}
调用函数时需要传2个参数
if (GetAge("27/12/2019",new DateTime(2010, 8, 18)) < 21 || GetAge("27/12/2019",new DateTime(2010, 8, 18)) > 75)
{
}
您不需要在参数中包含 startDate。您可以在函数内部声明它
并给出一个可以被解析为日期的字符串作为参数
public int GetAge(string DOB)
{
DateTime startDate = new Date();
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month || (startDate.Month == DateTime.Parse(DOB).Month && startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
并这样称呼它
GetAge("You date string comes here")<21 || GetAge("You date string comes here") > 75
您声明了一个方法,该方法具有两个类型为字符串和 DateTime 的参数:
public int GetAge(string DOB, DateTime startDate)
{
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month
|| (startDate.Month == DateTime.Parse(DOB).Month
&& startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
但是在没有任何参数的情况下调用它:
else if (GetAge())
{
}
GetAge 的 return 类型也是一个整数,但是 if 语句只计算布尔表达式。
您想要如下内容:
int age = GetAge('08/18/1990', DateTime.Now);
if (age < 21)
{
/* Do something. */
}
else if (age > 75)
{
/* Do something. */
}
如果用户年龄小于 21 或||,我将在 else if 中调用一个方法来使用 for >75 输出消息框。当我尝试调用方法时出现此错误
这是我的代码
public int GetAge(string DOB, DateTime startDate)
{
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month || (startDate.Month == DateTime.Parse(DOB).Month && startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
...
else if (GetAge())
{
}
调用函数时需要传2个参数
if (GetAge("27/12/2019",new DateTime(2010, 8, 18)) < 21 || GetAge("27/12/2019",new DateTime(2010, 8, 18)) > 75)
{
}
您不需要在参数中包含 startDate。您可以在函数内部声明它 并给出一个可以被解析为日期的字符串作为参数
public int GetAge(string DOB)
{
DateTime startDate = new Date();
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month || (startDate.Month == DateTime.Parse(DOB).Month && startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
并这样称呼它
GetAge("You date string comes here")<21 || GetAge("You date string comes here") > 75
您声明了一个方法,该方法具有两个类型为字符串和 DateTime 的参数:
public int GetAge(string DOB, DateTime startDate)
{
int driverAge = startDate.Year - DateTime.Parse(DOB).Year;
if (startDate.Month < DateTime.Parse(DOB).Month
|| (startDate.Month == DateTime.Parse(DOB).Month
&& startDate.Day < DateTime.Parse(DOB).Day))
{
driverAge--;
}
return driverAge;
}
但是在没有任何参数的情况下调用它:
else if (GetAge())
{
}
GetAge 的 return 类型也是一个整数,但是 if 语句只计算布尔表达式。
您想要如下内容:
int age = GetAge('08/18/1990', DateTime.Now);
if (age < 21)
{
/* Do something. */
}
else if (age > 75)
{
/* Do something. */
}