Structures are good when grouping data

image_pdfimage_print

   

/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/
// Structures are good when grouping data. 
 
using System; 
 
// Define a packet structure. 
struct PacketHeader { 
  public uint packNum; // packet number 
  public ushort packLen; // length of packet 
} 
 
// Use PacketHeader to create an e-commerce transaction record. 
class Transaction { 
  static uint transacNum = 0; 
 
  PacketHeader ph;  // incorporate PacketHeader into Transaction 
  string accountNum; 
  double amount; 
 
  public Transaction(string acc, double val) { 
   // create packet header 
    ph.packNum = transacNum++;  
    ph.packLen = 512;  // arbitrary length 
 
    accountNum = acc; 
    amount = val; 
  } 
 
  // Simulate a transaction. 
  public void sendTransaction() { 
    Console.WriteLine("Packet #: " + ph.packNum + 
                      ", Length: " + ph.packLen + 
                      ",
    Account #: " + accountNum + 
                      ", Amount: {0:C}
", amount); 
  } 
} 
 
// Demonstrate Packet 
public class PacketDemo { 
  public static void Main() { 
    Transaction t = new Transaction("31243", -100.12); 
    Transaction t2 = new Transaction("AB4655", 345.25); 
    Transaction t3 = new Transaction("8475-09", 9800.00); 
 
    t.sendTransaction(); 
    t2.sendTransaction(); 
    t3.sendTransaction(); 
  } 
}