public string PrintNumber(int number) { Number = number; int lowBit = Convert.ToInt32(number % 3 == 0); int highBit = Convert.ToInt32(number % 5 == 0); _state = _printStateMachine[lowBit + (highBit * 10)]; return _state.PrintNumber(); }
public FizzBuzz() { _state = new FizzBuzzStateBase(this); _printStateMachine = new Dictionary<int, FizzBuzzStateBase> { {0, new NumberState(this)}, {1, new FizzState(this)}, {10, new BuzzState(this)}, {11, new FizzBuzzState(this)} }; }