Wednesday, 23 November 2011

'Unknown' or 'NotFound' enum values

As per Jon Skeet's opinion, we should get away with 'Unknown' or 'NotFound' enum values and move towards nullable type, certainly it makes sense to me.


public enum UserStatus
        {
            Enabled,
            Disabled,
            DosUser
        }

        static UserStatus? GetUserStatus(int i)
        {
            return (i.Equals(0) ? UserStatus.Disabled : (UserStatus?) null);
        }

        static void Main(string[] args)
        {
            UserStatus? userStatus1 = GetUserStatus(0);
            UserStatus? userStatus2 = GetUserStatus(1);

            Console.WriteLine(userStatus1.HasValue );
            Console.WriteLine(userStatus2.HasValue);
        }

No comments: