使用get; set语句排除大于或小于C#

时间:2018-12-30 23:51:42

标签: c#

我一直在关注在线教程,该教程着眼于学生,他们的学科和年级。并且已经向我介绍了get和set语句。我将如何为他们将班级添加为= <0或> 5.3的“ NA”?

我仍然想保持等级> 3.5是荣誉

class Student
{
    public string Name;
    public string Subject;
    public double Grade;

    public Student(string aName, string aSubject, double aGrade)
    {
        Name = aName;
        Subject = aSubject;
        Grade = aGrade;

    }
    public double grade
    {
        get { return Grade; }
        set {
            if (value > 5.3 || value <= 0)
            { grade = string "na";
            }
            else
            { grade = value;
            }


            public bool HasHonours()
            { if (Grade >= 3.5)
                {
                    return true;
                }
                return false;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

只需要NaN运算符:

namespace student
{
   class Student
   {
      public string Name;
      public string Subject;
      public double Grade;

      public Student(string aName, string aSubject, double Grade)
      {
         Name = aName;
         Subject = aSubject;
         grade=Grade;
      }

      private double grade
      {
         get { return Grade; }
         set
         {
            if (value > 5.3 || value <= 0)
            {
               Grade = Double.NaN;
            }
            else
            {
               Grade = value;
            }

         }
      }

      public bool HasHonours()
      { 
         if (grade >= 3.5)
         {
            return true;
         }
         else
         {
             return false;
         } 
      }
   }
} 

答案 1 :(得分:0)

尝试一下。

class Student
{
   public string Name { get; set; };
   public string Subject { get; set; };

   public double Grade 
   {
      get
      {
         return Grade;
      }

     set
     {
        // value is less than or equal to '0' or greater than '5.3' so return 'N/A'
        if(!(value <= 0 || value > 5.3))
           Grade = value;
     }
   };

   public Student(string name, string subject, double grade)
   {
      this.Name = name;
      this.Subject = subject;
      this.Grade = grade;
   }

   public bool HasHonours()
   { 
      if (grade > 3.5)
      {
         return true;
      }
      else
      {
         return false; // Because - Grade is Less than or equal to 3.5
      } 
   }
}