public class RationalNumber
public RationalNumber(int numerator, int denominator)
Denominator = denominator;
public int Numerator { get; set; }
private int _denominator { get; set; }
get { return _denominator; }
throw new InvalidOperationException("Invalid denominator, denominator must be a non-zero");
get { return (float)Numerator / Denominator; }
public static RationalNumber operator +(RationalNumber c1, RationalNumber c2)
var numerator = c1.Numerator * c2.Denominator + c2.Numerator * c1.Denominator;
var denominator = c1.Denominator * c2.Denominator;
return new RationalNumber(numerator, denominator);
public static void Main()
var x = new RationalNumber(1, 5);
var y = new RationalNumber(1, 5);
var z = new RationalNumber(1, 5);
Console.WriteLine(result.Value);