Tuesday, 15 September 2015

null - How will a C# switch statement's default label handle a nullable enum? -



null - How will a C# switch statement's default label handle a nullable enum? -

how c# switch statement's default label handle nullable enum?

will default label grab nulls , unhandled cases?

if it's null, nail default label.

public enum yesno { yes, no, } public class programme { public static void main(string[] args) { yesno? value = null; switch (value) { case yesno.yes: console.writeline("yes"); break; case yesno.no: console.writeline("no"); break; default: console.writeline("default"); break; } } }

the programme print default.

unless null handled.

public class programme { public static void main(string[] args) { yesno? value = null; switch (value) { case yesno.yes: console.writeline("yes"); break; case yesno.no: console.writeline("no"); break; case null: console.writeline("null"); break; default: console.writeline("default"); break; } } }

prints null.

if have unhandled enum value added later:

public enum yesno { yes, no, filenotfound, } public class programme { public static void main(string[] args) { yesno? value = yesno.filenotfound; switch (value) { case yesno.yes: console.writeline("yes"); break; case yesno.no: console.writeline("no"); break; default: console.writeline("default"); break; } } }

it still prints default.

c# null switch-statement nullable

No comments:

Post a Comment