Mega Code Archive

 
Categories / C# / Class Interface
 

Indexer with complex logic

using System; class MyValue {     private String[] Cards = new String[52];     public String this[int index] {         get {             return Cards[index];         }         set {             Cards[index] = value;         }     }     public String this[String CardName] {         get {             for (int i = 0; i < 52; i++) {                 if (Cards[i] == CardName)                     return Cards[i];             }             return Cards[0];         }         set {             for (int i = 0; i < 52; i++) {                 if (Cards[i] == CardName)                     Cards[i] = value;             }         }     }     public MyValue() {         int y = 0;         int i = 0;         while (i < 52) {             for (int x = 0; x < 13; x++) {                 switch (y) {                     case 0:                         Cards[i] = (x + 1) + " A";                         break;                     case 1:                         Cards[i] = (x + 1) + " B";                         break;                     case 2:                         Cards[i] = (x + 1) + " C";                         break;                     case 3:                         Cards[i] = (x + 1) + " D";                         break;                 }                 if (y == 3)                     y = 0;                 else                     y++;                 i++;             }         }     } } class MyValueClient {     public static void Main() {         MyValue PokerDeck = new MyValue();         String FourOfHearts = PokerDeck["4 of Hearts"];         Console.WriteLine(FourOfHearts);     } }