C# 如何在if语句中使用类
我正在尝试使用if语句来检查文件是否包含该字母 “M”、“F”或“U” 如果它包含任何其他字母或没有字母,则应返回false 我得到了一个错误: “CS1955 C#非可开票成员”SplitClass.Patient.Gender“不能像方法一样使用。” 如何解决这个问题,以便在if语句中使用GenderOptions类C# 如何在if语句中使用类,c#,C#,我正在尝试使用if语句来检查文件是否包含该字母 “M”、“F”或“U” 如果它包含任何其他字母或没有字母,则应返回false 我得到了一个错误: “CS1955 C#非可开票成员”SplitClass.Patient.Gender“不能像方法一样使用。” 如何解决这个问题,以便在if语句中使用GenderOptions类 public class Patient { public int NHSNumber { get; set; } public Da
public class Patient
{
public int NHSNumber { get; set; }
public DateTime DateOfBirth { get; set; }
public string Title { get; set; }
public string GivenName { get; set; }
public string Surname { get; set; }
public GenderOptions Gender { get; set; }
}
public enum GenderOptions
{
M,
F,
U
};
public enum TitleOptions
{
Mr,
Master,
Miss,
Mrs,
Ms,
Mx
};
public bool Validation(Patient patient)
{
if (patient.NHSNumber > 10) return false;
if (patient.NHSNumber < 10) return false;
if (patient.DateOfBirth.Year > DateTime.Today.Year) return false;
if (patient.DateOfBirth.Year < 1900) return false;
if (patient.Gender != ("M","F","U")) return false;
}
公共类患者
{
public int NHSNumber{get;set;}
公共日期时间出生日期{get;set;}
公共字符串标题{get;set;}
公共字符串GivenName{get;set;}
公共字符串姓氏{get;set;}
公共性别选项性别{get;set;}
}
公共枚举性别选项
{
M
F
U
};
公共枚举标题
{
先生
大师,
错过,
夫人
太太
Mx
};
公共bool验证(患者)
{
如果(patient.NHSNumber>10)返回false;
如果(patient.NHSNumber<10)返回false;
如果(patient.DateOfBirth.Year>DateTime.day.Year)返回false;
if(patient.DateOfBirth.Year<1900)返回false;
if(patient.Gender!=(“M”、“F”、“U”)返回false;
}
我也计划对标题选项做同样的操作,我只是对如何在if语句中正确使用Gender类感到困惑
//伪码
如果(文件名)不包含“M”、“F”或“U”
然后是Console.WriteLine(“不包含有效的性别”)
您可以使用Enum.IsDefined
if (!Enum.IsDefined(typeof(GenderOptions), patient.Gender)){
return false;
}
你也可以使用Enum.TryParse或其他什么你说检查文件名时包含字母m、f或u,但在你的代码中你比较的是性别选项,这是一个枚举?@PeterB我肯定这是一个重复,但不是那个-他试图验证的是一个枚举,而不是一个字符串