
- D Programming Basics
- D Programming - Home
- D Programming - Overview
- D Programming - Environment
- D Programming - Basic Syntax
- D Programming - Variables
- D Programming - Data Types
- D Programming - Enums
- D Programming - Literals
- D Programming - Operators
- D Programming - Loops
- D Programming - Decisions
- D Programming - Functions
- D Programming - Characters
- D Programming - Strings
- D Programming - Arrays
- D Programming - Associative Arrays
- D Programming - Pointers
- D Programming - Tuples
- D Programming - Structs
- D Programming - Unions
- D Programming - Ranges
- D Programming - Aliases
- D Programming - Mixins
- D Programming - Modules
- D Programming - Templates
- D Programming - Immutables
- D Programming - File I/O
- D Programming - Concurrency
- D Programming - Exception Handling
- D Programming - Contract
- D - Conditional Compilation
- D Programming - Object Oriented
- D Programming - Classes & Objects
- D Programming - Inheritance
- D Programming - Overloading
- D Programming - Encapsulation
- D Programming - Interfaces
- D Programming - Abstract Classes
- D Programming - Useful Resources
- D Programming - Quick Guide
- D Programming - Useful Resources
- D Programming - Discussion
D Programming - Nested Switch Statement
It is possible to have a switch as part of the statement sequence of an outer switch. Even if the case constants of the inner and outer switch contain common values, no conflicts arises.
Syntax
The syntax for a nested switch statement is as follows −
switch(ch1) { case 'A': writefln("This A is part of outer switch" ); switch(ch2) { case 'A': writefln("This A is part of inner switch" ); break; case 'B': /* case code */ } break; case 'B': /* case code */ }
Example
import std.stdio; int main () { /* local variable definition */ int a = 100; int b = 200; switch(a) { case 100: writefln("This is part of outer switch", a ); switch(b) { case 200: writefln("This is part of inner switch", a ); default: break; } default: break; } writefln("Exact value of a is : %d", a ); writefln("Exact value of b is : %d", b ); return 0; }
When the above code is compiled and executed, it produces the following result −
This is part of outer switch This is part of inner switch Exact value of a is : 100 Exact value of b is : 200
d_programming_decisions.htm
Advertisements