/* 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 + ",\n Account #: " + accountNum + ", Amount: {0:C}\n", 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(); } }