Constance in Values and Objects
Constance in Values and Objects
Constants
Introduction
A constant is a value that never changes. Examples are 244, "ASEC Mimosa", or True. These are constant values you can use in your program any time. You can also declare a variable and make it a constant; that is, use it so that its value is always the same.
Practical Learning: Introducing Constants
Creating a Constant
To let you create a constant, the C# language provides a keyword named const. To create a constant, you start by declaring a variable. Before the data type of the variable, type the const keyword. You must initialize that variable with an appropriate value based on the data type of the variable. Here is an example:
const double ConversionFactor = 39.37;
Once a constant has been created and it has been appropriately initialized, you can use its name where the desired constant would be used. Here is an example of a constant variable used many times:
using static System.Console; const double conversionFactor = 39.37; double meter, inch; meter = 12.52; inch = meter * conversionFactor; Write(meter); Write(" = "); Write(inch); WriteLine("in\n"); meter = 12.52; inch = meter * conversionFactor; Write(meter); Write(" = "); Write(inch); WriteLine("in\n"); meter = 12.52; inch = meter * conversionFactor; Write(meter); Write(" = "); Write(inch); WriteLine("in\n");
This would produce:
12.52 = 492.9124in 12.52 = 492.9124in 12.52 = 492.9124in Press any key to close this window . . .
To initialize a constant variable, the value on the right side of "=" must be a constant or a value that the compiler can determine as constant. Instead of using a known constant, you can also assign it another variable that has already been declared as constant.
A Constant Boolean Variable
If you are planning to use a Boolean variable whose value will never change, you can declare it as a constant. To do this, apply the const keyword to the variable and initialize it. Here is an example:
const bool driverIsSober = true;
Constant Fields in a Type
When creating a field in a class, a record, or a structure, if you know that the value of that field will never change, create that field as a constant. That is, precede the data type of the field with the const keyword. Of course, you must initialize the field. Here is an example:
public record CustomerOrder
{
const double originalPrice = 124.50;
int discountRate = 20;
double discountAmount = 0;
}
If the field will be accessed outside the class, you should mark it with the public or the internal keyword. If the field will be accessed only inside the class, you can omit any access keyword or mark it as private. After creating the field, you can use it and make sure you don't change its value.
Practical Learning: Creating and Using Constants
using static System.Console; CustomerOrder custOrder = new CustomerOrder(); custOrder.PresentCustomerOrder(); public record CustomerOrder { const double originalPrice = 124.50; int discountRate = 20; double discountAmount = 0; double markedPrice = 0; double number_of_days_in_store = 75; void EvaluateDiscount() { if (number_of_days_in_store is <= 45) discountRate = 25; } void ProcessOrder() { discountAmount = originalPrice * discountRate / 100.00; markedPrice = originalPrice - discountAmount; } public void PresentCustomerOrder() { EvaluateDiscount(); ProcessOrder(); WriteLine("Fun Department Store"); WriteLine("----------------------------------"); WriteLine($"Original Price: {originalPrice}"); WriteLine($"Days in Store: {number_of_days_in_store}"); WriteLine($"Discount Rate: {discountRate:n}"); WriteLine($"Discount Amount: {discountAmount:n}"); WriteLine($"Marked Price: {markedPrice:n}"); WriteLine("=================================="); } }
Fun Department Store ---------------------------------- Original Price: 124.5 Days in Store: 75 Discount Rate: 20.00 Discount Amount: 24.90 Marked Price: 99.60 ================================== Press any key to close this window . . .
namespace MetropolitanTransitSystem1.Models
{
public record MetroStation
{
public int StationId { get; set; }
public short StationNumber { get; set; }
public string? StationName { get; set; }
public (string? City, string? State) Location { get; set; }
public bool ParkingAvailable { get; set; }
public int BikeRacks { get; set; }
}
}
namespace MetropolitanTransitSystem1.Models
{
public record MetroLine(int LineId, string? LineName, short Between, short And);
}namespace MetropolitanTransitSystem1.Models
{
public record StationAndLine(int LinedStationId, short StationNumber, string? LineName);
}namespace MetropolitanTransitSystem10.Models
{
internal class Database
{
public MetroLine[] Lines { get; set; } = new MetroLine[6];
public MetroStation[] Stations { get; set; } = new MetroStation[98];
public StationAndLine[] StationsAndLines { get; set; } = new StationAndLine[154];
public Database()
{
Stations[0] = new MetroStation() { StationId = 1, StationNumber = 9374, StationName = "Congress Heights", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 10 };
Stations[1] = new MetroStation() { StationId = 2, StationNumber = 2859, StationName = "Franconia-Springfield", Location = ("Springfield", "VA"), ParkingAvailable = true, BikeRacks = 30 };
Stations[2] = new MetroStation() { StationId = 3, StationNumber = 6083, StationName = "New Carrollton", Location = ("New Carrollton", "MD"), ParkingAvailable = true, BikeRacks = 35 };
Stations[3] = new MetroStation() { StationId = 4, StationNumber = 4480, StationName = "Metro Center", Location = ("NW, Washington ", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[4] = new MetroStation() { StationId = 5, StationNumber = 1584, StationName = "East Falls Church", Location = ("Arlington", "VA"), ParkingAvailable = true, BikeRacks = 87 };
Stations[5] = new MetroStation() { StationId = 6, StationNumber = 6295, StationName = "Wheaton", Location = ("Wheaton", "MD"), ParkingAvailable = true, BikeRacks = 26 };
Stations[6] = new MetroStation() { StationId = 7, StationNumber = 3815, StationName = "Minnesota Ave", Location = ("NE, Washington ", "DC"), ParkingAvailable = true, BikeRacks = 14 };
Stations[7] = new MetroStation() { StationId = 8, StationNumber = 8684, StationName = "Crystal City", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 10 };
Stations[8] = new MetroStation() { StationId = 9, StationNumber = 5248, StationName = "NoMa-Gallaudet U", Location = ("NE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 10 };
Stations[9] = new MetroStation() { StationId = 10, StationNumber = 9393, StationName = "Ashburn", Location = ("Ashburn", "VA"), ParkingAvailable = true, BikeRacks = 51 };
Stations[10] = new MetroStation() { StationId = 11, StationNumber = 6497, StationName = "Twinbrook", Location = ("Rockville", "MD"), ParkingAvailable = true, BikeRacks = 45 };
Stations[11] = new MetroStation() { StationId = 12, StationNumber = 2969, StationName = "Woodley Park-Zoo/Adams Morgan", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 30 };
Stations[12] = new MetroStation() { StationId = 13, StationNumber = 8686, StationName = "Eisenhower Avenue", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 14 };
Stations[13] = new MetroStation() { StationId = 14, StationNumber = 4836, StationName = "Georgia Ave-Petworth", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 21 };
Stations[14] = new MetroStation() { StationId = 15, StationNumber = 2841, StationName = "Rosslyn", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 14 };
Stations[15] = new MetroStation() { StationId = 16, StationNumber = 2082, StationName = "Benning Road", Location = ("NE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 4 };
Stations[16] = new MetroStation() { StationId = 17, StationNumber = 8486, StationName = "Arlington Cemetery", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 0 };
Stations[17] = new MetroStation() { StationId = 18, StationNumber = 5575, StationName = "Dupont Circle", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 26 };
Stations[18] = new MetroStation() { StationId = 19, StationNumber = 9638, StationName = "Reston Town Center", Location = ("Reston", "VA"), ParkingAvailable = false, BikeRacks = 40 };
Stations[19] = new MetroStation() { StationId = 20, StationNumber = 3584, StationName = "Gallery Place Chinatown", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[20] = new MetroStation() { StationId = 21, StationNumber = 7597, StationName = "West Hyattsville", Location = ("Hyattsville", "MD"), ParkingAvailable = true, BikeRacks = 87 };
Stations[21] = new MetroStation() { StationId = 22, StationNumber = 4975, StationName = "Shaw-Howard U", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[22] = new MetroStation() { StationId = 23, StationNumber = 2014, StationName = "Shady Grove", Location = ("Rockville", "MD"), ParkingAvailable = true, BikeRacks = 68 };
Stations[23] = new MetroStation() { StationId = 24, StationNumber = 5395, StationName = "McPherson Square", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[24] = new MetroStation() { StationId = 25, StationNumber = 7497, StationName = "Clarendon", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 24 };
Stations[25] = new MetroStation() { StationId = 26, StationNumber = 9794, StationName = "Fort Totten", Location = ("NE, Washington", "DC"), ParkingAvailable = true, BikeRacks = 22 };
Stations[26] = new MetroStation() { StationId = 27, StationNumber = 3975, StationName = "Downtown Largo", Location = ("Largo", "MD"), ParkingAvailable = true, BikeRacks = 38 };
Stations[27] = new MetroStation() { StationId = 28, StationNumber = 1575, StationName = "Braddock Road", Location = ("Alexandria", "VA"), ParkingAvailable = true, BikeRacks = 58 };
Stations[28] = new MetroStation() { StationId = 29, StationNumber = 8473, StationName = "Naylor Road", Location = ("Hillcrest Heights", "MD"), ParkingAvailable = true, BikeRacks = 10 };
Stations[29] = new MetroStation() { StationId = 30, StationNumber = 5297, StationName = "Innovation Center", Location = ("Herndon", "VA"), ParkingAvailable = true, BikeRacks = 177 };
Stations[30] = new MetroStation() { StationId = 31, StationNumber = 7118, StationName = "Farragut West", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[31] = new MetroStation() { StationId = 32, StationNumber = 1155, StationName = "Suitland", Location = ("Suitland", "MD"), ParkingAvailable = true, BikeRacks = 7 };
Stations[32] = new MetroStation() { StationId = 33, StationNumber = 3330, StationName = "Brookland-CUA", Location = ("NE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 47 };
Stations[33] = new MetroStation() { StationId = 34, StationNumber = 5739, StationName = "Grosvenor-Strathmore", Location = ("North Bethesda", "MD"), ParkingAvailable = true, BikeRacks = 24 };
Stations[34] = new MetroStation() { StationId = 35, StationNumber = 1486, StationName = "Archives-Navy Memorial-Penn Quarter", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[35] = new MetroStation() { StationId = 36, StationNumber = 7946, StationName = "McLean", Location = ("McLean", "VA"), ParkingAvailable = false, BikeRacks = 36 };
Stations[36] = new MetroStation() { StationId = 37, StationNumber = 2938, StationName = "Cheverly", Location = ("Cheverly", "MD"), ParkingAvailable = true, BikeRacks = 28 };
Stations[37] = new MetroStation() { StationId = 38, StationNumber = 5947, StationName = "Judiciary Square", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[38] = new MetroStation() { StationId = 39, StationNumber = 8111, StationName = "Ballston-MU", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 22 };
Stations[39] = new MetroStation() { StationId = 40, StationNumber = 1770, StationName = "Tenleytown-AU", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 20 };
Stations[40] = new MetroStation() { StationId = 41, StationNumber = 3974, StationName = "Pentagon", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 6 };
Stations[41] = new MetroStation() { StationId = 42, StationNumber = 6866, StationName = "Mt Vernon Sq 7th St-Convention Center", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 5 };
Stations[42] = new MetroStation() { StationId = 43, StationNumber = 8374, StationName = "Capitol Heights", Location = ("Capitol Heights", "MD"), ParkingAvailable = true, BikeRacks = 25 };
Stations[43] = new MetroStation() { StationId = 44, StationNumber = 2493, StationName = "Van Ness-UDC", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 18 };
Stations[44] = new MetroStation() { StationId = 45, StationNumber = 5592, StationName = "King St-Old Town", Location = ("Alexandria", "VA"), ParkingAvailable = false, BikeRacks = 42 };
Stations[45] = new MetroStation() { StationId = 46, StationNumber = 7720, StationName = "Union Station", Location = ("NE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 8 };
Stations[46] = new MetroStation() { StationId = 47, StationNumber = 1862, StationName = "Greenbelt", Location = ("Beltsville", "MD"), ParkingAvailable = true, BikeRacks = 81 };
Stations[47] = new MetroStation() { StationId = 48, StationNumber = 4084, StationName = "Potomac Yard", Location = ("Alexandria", "VA"), ParkingAvailable = false, BikeRacks = 49 };
Stations[48] = new MetroStation() { StationId = 49, StationNumber = 9795, StationName = "Medical Center", Location = ("Bethesda", "MD"), ParkingAvailable = false, BikeRacks = 48 };
Stations[49] = new MetroStation() { StationId = 50, StationNumber = 2860, StationName = "Wiehle-Reston East", Location = ("Reston", "VA"), ParkingAvailable = true, BikeRacks = 15 };
Stations[50] = new MetroStation() { StationId = 51, StationNumber = 9475, StationName = "Federal Center SW", Location = ("SW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[51] = new MetroStation() { StationId = 52, StationNumber = 8263, StationName = "Waterfront", Location = ("SW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[52] = new MetroStation() { StationId = 53, StationNumber = 9537, StationName = "College Park-U of Md", Location = ("College Park", "MD"), ParkingAvailable = true, BikeRacks = 81 };
Stations[53] = new MetroStation() { StationId = 54, StationNumber = 3383, StationName = "Huntington", Location = ("Alexandria", "VA"), ParkingAvailable = true, BikeRacks = 32 };
Stations[54] = new MetroStation() { StationId = 55, StationNumber = 7468, StationName = "Friendship Heights", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 28 };
Stations[55] = new MetroStation() { StationId = 56, StationNumber = 1475, StationName = "Silver Spring", Location = ("Silver Spring", "MD"), ParkingAvailable = false, BikeRacks = 39 };
Stations[56] = new MetroStation() { StationId = 57, StationNumber = 5022, StationName = "West Falls Church", Location = ("Falls Church", "VA"), ParkingAvailable = true, BikeRacks = 40 };
Stations[57] = new MetroStation() { StationId = 58, StationNumber = 3947, StationName = "L'Enfant Plaza", Location = ("SW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 9 };
Stations[58] = new MetroStation() { StationId = 59, StationNumber = 6470, StationName = "Pentagon City", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 0 };
Stations[59] = new MetroStation() { StationId = 60, StationNumber = 9244, StationName = "Navy Yard-Ballpark", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 14 };
Stations[60] = new MetroStation() { StationId = 61, StationNumber = 1660, StationName = "Rockville", Location = ("Rockville", "MD"), ParkingAvailable = true, BikeRacks = 60 };
Stations[61] = new MetroStation() { StationId = 62, StationNumber = 4244, StationName = "Deanwood", Location = ("NE, Washington", "DC"), ParkingAvailable = true, BikeRacks = 6 };
Stations[62] = new MetroStation() { StationId = 63, StationNumber = 9485, StationName = "Ronald Reagan Washington National Airport", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 18 };
Stations[63] = new MetroStation() { StationId = 64, StationNumber = 3973, StationName = "Potomac Ave", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 10 };
Stations[64] = new MetroStation() { StationId = 65, StationNumber = 7385, StationName = "North Bethesda", Location = ("North Bethesda", "MD"), ParkingAvailable = true, BikeRacks = 16 };
Stations[65] = new MetroStation() { StationId = 66, StationNumber = 1857, StationName = "Court House", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 25 };
Stations[66] = new MetroStation() { StationId = 67, StationNumber = 3860, StationName = "Takoma", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 7 };
Stations[67] = new MetroStation() { StationId = 68, StationNumber = 6483, StationName = "Branch Ave", Location = ("Suitland", "MD"), ParkingAvailable = true, BikeRacks = 10 };
Stations[68] = new MetroStation() { StationId = 69, StationNumber = 9751, StationName = "Herndon", Location = ("Herndon", "VA"), ParkingAvailable = true, BikeRacks = 162 };
Stations[69] = new MetroStation() { StationId = 70, StationNumber = 2927, StationName = "Farragut North", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[70] = new MetroStation() { StationId = 71, StationNumber = 8463, StationName = "Southern Avenue", Location = ("Hillcrest Heights", "MD"), ParkingAvailable = true, BikeRacks = 9 };
Stations[71] = new MetroStation() { StationId = 72, StationNumber = 3366, StationName = "Washington Dulles International Airport", Location = ("Dulles", "VA"), ParkingAvailable = false, BikeRacks = 0 };
Stations[72] = new MetroStation() { StationId = 73, StationNumber = 2058, StationName = "Anacostia", Location = ("SE, Washington", "DC"), ParkingAvailable = true, BikeRacks = 8 };
Stations[73] = new MetroStation() { StationId = 74, StationNumber = 2858, StationName = "Dunn Loring-Merrifield", Location = ("Vienna", "VA"), ParkingAvailable = true, BikeRacks = 49 };
Stations[74] = new MetroStation() { StationId = 75, StationNumber = 2837, StationName = "Glenmont", Location = ("Silver Spring", "MD"), ParkingAvailable = true, BikeRacks = 25 };
Stations[75] = new MetroStation() { StationId = 76, StationNumber = 1818, StationName = "Eastern Market", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 20 };
Stations[76] = new MetroStation() { StationId = 77, StationNumber = 4174, StationName = "Virginia Square-GMU", Location = ("Arlington", "VA"), ParkingAvailable = false, BikeRacks = 12 };
Stations[77] = new MetroStation() { StationId = 78, StationNumber = 4844, StationName = "Bethesda", Location = ("Bethesda", "MD"), ParkingAvailable = false, BikeRacks = 38 };
Stations[78] = new MetroStation() { StationId = 79, StationNumber = 1827, StationName = "Rhode Island Ave-Brentwood", Location = ("NE, Washington", "DC"), ParkingAvailable = true, BikeRacks = 20 };
Stations[79] = new MetroStation() { StationId = 80, StationNumber = 9479, StationName = "Hyattsville Crossing", Location = ("Hyattsville", "MD"), ParkingAvailable = true, BikeRacks = 32 };
Stations[80] = new MetroStation() { StationId = 81, StationNumber = 3000, StationName = "Capitol South", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[81] = new MetroStation() { StationId = 82, StationNumber = 6622, StationName = "Greensboro", Location = ("Vienna", "VA"), ParkingAvailable = false, BikeRacks = 20 };
Stations[82] = new MetroStation() { StationId = 83, StationNumber = 2022, StationName = "Federal Triangle", Location = ("NW, Washington ", "DC"), ParkingAvailable = false, BikeRacks = 0 };
Stations[83] = new MetroStation() { StationId = 84, StationNumber = 9357, StationName = "Addison Road-Seat Pleasant", Location = ("Capitol Heights", "MD"), ParkingAvailable = true, BikeRacks = 8 };
Stations[84] = new MetroStation() { StationId = 85, StationNumber = 6924, StationName = "Foggy Bottom-GWU", Location = ("NW, Washington ", "DC"), ParkingAvailable = false, BikeRacks = 10 };
Stations[85] = new MetroStation() { StationId = 86, StationNumber = 2862, StationName = "Vienna/Fairfax-GMU", Location = ("Fairfax", "VA"), ParkingAvailable = true, BikeRacks = 86 };
Stations[86] = new MetroStation() { StationId = 87, StationNumber = 2080, StationName = "Columbia Heights", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 15 };
Stations[87] = new MetroStation() { StationId = 88, StationNumber = 7707, StationName = "Forest Glen", Location = ("Silver Spring ", "MD"), ParkingAvailable = true, BikeRacks = 49 };
Stations[88] = new MetroStation() { StationId = 89, StationNumber = 5359, StationName = "Tysons", Location = ("McLean", "VA"), ParkingAvailable = false, BikeRacks = 28 };
Stations[89] = new MetroStation() { StationId = 90, StationNumber = 7722, StationName = "U Street/African-Amer Civil War Memorial/Cardozo", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 8 };
Stations[90] = new MetroStation() { StationId = 91, StationNumber = 2008, StationName = "Landover", Location = ("Landover", "MD"), ParkingAvailable = true, BikeRacks = 9 };
Stations[91] = new MetroStation() { StationId = 92, StationNumber = 2957, StationName = "Cleveland Park", Location = ("NW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 8 };
Stations[92] = new MetroStation() { StationId = 93, StationNumber = 8174, StationName = "Loudoun Gateway", Location = ("Ashburn", "VA"), ParkingAvailable = true, BikeRacks = 113 };
Stations[93] = new MetroStation() { StationId = 94, StationNumber = 4826, StationName = "Smithsonian", Location = ("SW, Washington", "DC"), ParkingAvailable = false, BikeRacks = 2 };
Stations[94] = new MetroStation() { StationId = 95, StationNumber = 2205, StationName = "Van Dorn Street", Location = ("Alexandria", "VA"), ParkingAvailable = true, BikeRacks = 30 };
Stations[95] = new MetroStation() { StationId = 96, StationNumber = 9486, StationName = "Morgan Boulevard", Location = ("Landover", "MD"), ParkingAvailable = true, BikeRacks = 14 };
Stations[96] = new MetroStation() { StationId = 97, StationNumber = 4925, StationName = "Spring Hill", Location = ("Vienna", "VA"), ParkingAvailable = false, BikeRacks = 10 };
Stations[97] = new MetroStation() { StationId = 98, StationNumber = 2739, StationName = "Stadium-Armory", Location = ("SE, Washington", "DC"), ParkingAvailable = false, BikeRacks = 7 };
Lines[0] = new MetroLine(1, "Green", 1862, 6483);
Lines[1] = new MetroLine(LineName: "Red", LineId: 2, Between: 2014, And: 2837);
Lines[2] = new(3, "Yellow", 6866, 3383);
Lines[3] = new(LineId: 4, LineName: "Blue", Between: 3975, And: 2859);
Lines[4] = new MetroLine(LineName: "Orange", LineId: 5, Between: 6866, And: 3383);
Lines[5] = new MetroLine(LineName: "Silver", Between: 3975, And: 9393, LineId: 6);
StationsAndLines[0] = new StationAndLine(LinedStationId: 1, StationNumber: 1862, LineName: "Green"); // Greenbelt
StationsAndLines[1] = new StationAndLine(LinedStationId: 2, StationNumber: 9537, LineName: "Green"); // College Park-U of Md
StationsAndLines[2] = new StationAndLine(LinedStationId: 3, StationNumber: 9479, LineName: "Green"); // Hyattsville Crossing
StationsAndLines[3] = new StationAndLine(LinedStationId: 4, StationNumber: 7597, LineName: "Green"); // West Hyattsville
StationsAndLines[4] = new StationAndLine(LinedStationId: 5, StationNumber: 9794, LineName: "Green"); // Fort Totten
StationsAndLines[5] = new StationAndLine(LinedStationId: 6, StationNumber: 4836, LineName: "Green"); // Georgia Ave-Petworth
StationsAndLines[6] = new StationAndLine(LinedStationId: 7, StationNumber: 2080, LineName: "Green"); // Columbia Heights
StationsAndLines[7] = new StationAndLine(LinedStationId: 8, StationNumber: 7722, LineName: "Green"); // U Street/African-Amer Civil War Memorial/Cardozo
StationsAndLines[8] = new StationAndLine(LinedStationId: 9, StationNumber: 4975, LineName: "Green"); // Shaw-Howard U
StationsAndLines[9] = new StationAndLine(LinedStationId: 10, StationNumber: 6866, LineName: "Green"); // Mt Vernon Sq 7th St-Convention Center
StationsAndLines[10] = new StationAndLine(LinedStationId: 11, StationNumber: 3584, LineName: "Green"); // Gallery Place Chinatown
StationsAndLines[11] = new StationAndLine(LinedStationId: 12, StationNumber: 1486, LineName: "Green"); // Archives-Navy Memorial-Penn Quarter
StationsAndLines[12] = new StationAndLine(LinedStationId: 13, StationNumber: 3947, LineName: "Green"); // L'Enfant Plaza
StationsAndLines[13] = new StationAndLine(LinedStationId: 14, StationNumber: 8263, LineName: "Green"); // Waterfront
StationsAndLines[14] = new StationAndLine(LinedStationId: 15, StationNumber: 9244, LineName: "Green"); // Navy Yard-Ballpark
StationsAndLines[15] = new StationAndLine(LinedStationId: 16, StationNumber: 2058, LineName: "Green"); // Anacostia
StationsAndLines[16] = new StationAndLine(LinedStationId: 17, StationNumber: 9374, LineName: "Green"); // Congress Heights
StationsAndLines[17] = new StationAndLine(LinedStationId: 18, StationNumber: 8463, LineName: "Green"); // Southern Avenue
StationsAndLines[18] = new StationAndLine(LinedStationId: 19, StationNumber: 8473, LineName: "Green"); // Naylor Road
StationsAndLines[19] = new StationAndLine(LinedStationId: 20, StationNumber: 1155, LineName: "Green"); // Suitland
StationsAndLines[20] = new StationAndLine(LinedStationId: 21, StationNumber: 6483, LineName: "Green"); // Branch Ave
StationsAndLines[21] = new StationAndLine(LinedStationId: 22, StationNumber: 6866, LineName: "Yellow"); // Mt Vernon Sq 7th St-Convention Center
StationsAndLines[22] = new StationAndLine(LinedStationId: 23, StationNumber: 3584, LineName: "Yellow"); // Gallery Place Chinatown
StationsAndLines[23] = new StationAndLine(LinedStationId: 24, StationNumber: 1486, LineName: "Yellow"); // Archives-Navy Memorial-Penn Quarter
StationsAndLines[24] = new StationAndLine(LinedStationId: 25, StationNumber: 3947, LineName: "Yellow"); // L'Enfant Plaza
StationsAndLines[25] = new StationAndLine(LinedStationId: 26, StationNumber: 3974, LineName: "Yellow"); // Pentagon
StationsAndLines[26] = new StationAndLine(LinedStationId: 27, StationNumber: 6470, LineName: "Yellow"); // Pentagon City
StationsAndLines[27] = new StationAndLine(LinedStationId: 28, StationNumber: 8684, LineName: "Yellow"); // Crystal City
StationsAndLines[28] = new StationAndLine(LinedStationId: 29, StationNumber: 9485, LineName: "Yellow"); // Ronald Reagan Washington National Airport
StationsAndLines[29] = new StationAndLine(LinedStationId: 30, StationNumber: 4084, LineName: "Yellow"); // Potomac Yard
StationsAndLines[30] = new StationAndLine(LinedStationId: 31, StationNumber: 1575, LineName: "Yellow"); // Braddock Road
StationsAndLines[31] = new StationAndLine(LinedStationId: 32, StationNumber: 5592, LineName: "Yellow"); // King St-Old Town
StationsAndLines[32] = new StationAndLine(LinedStationId: 33, StationNumber: 8686, LineName: "Yellow"); // Eisenhower Avenue
StationsAndLines[33] = new StationAndLine(LinedStationId: 34, StationNumber: 3383, LineName: "Yellow"); // Huntington
StationsAndLines[34] = new StationAndLine(LinedStationId: 35, StationNumber: 2014, LineName: "Red"); // Shady Grove
StationsAndLines[35] = new StationAndLine(LinedStationId: 36, StationNumber: 1660, LineName: "Red"); // Rockville
StationsAndLines[36] = new StationAndLine(LinedStationId: 37, StationNumber: 6497, LineName: "Red"); // Twinbrook
StationsAndLines[37] = new StationAndLine(LinedStationId: 38, StationNumber: 7385, LineName: "Red"); // North Bethesda
StationsAndLines[38] = new StationAndLine(LinedStationId: 39, StationNumber: 5739, LineName: "Red"); // Grosvenor-Strathmore
StationsAndLines[39] = new StationAndLine(LinedStationId: 40, StationNumber: 9795, LineName: "Red"); // Medical Center
StationsAndLines[40] = new StationAndLine(LinedStationId: 41, StationNumber: 4844, LineName: "Red"); // Bethesda
StationsAndLines[41] = new StationAndLine(LinedStationId: 42, StationNumber: 7468, LineName: "Red"); // Friendship Heights
StationsAndLines[42] = new StationAndLine(LinedStationId: 43, StationNumber: 1770, LineName: "Red"); // Tenleytown-AU
StationsAndLines[43] = new StationAndLine(LinedStationId: 44, StationNumber: 2493, LineName: "Red"); // Van Ness-UDC
StationsAndLines[44] = new StationAndLine(LinedStationId: 45, StationNumber: 2957, LineName: "Red"); // Cleveland Park
StationsAndLines[45] = new StationAndLine(LinedStationId: 46, StationNumber: 2969, LineName: "Red"); // Woodley Park-Zoo/Adams Morgan
StationsAndLines[46] = new StationAndLine(LinedStationId: 47, StationNumber: 5575, LineName: "Red"); // Dupont Circle
StationsAndLines[47] = new StationAndLine(LinedStationId: 48, StationNumber: 2927, LineName: "Red"); // Farragut North
StationsAndLines[48] = new StationAndLine(LinedStationId: 49, StationNumber: 4480, LineName: "Red"); // Metro Center
StationsAndLines[49] = new StationAndLine(LinedStationId: 50, StationNumber: 3584, LineName: "Red"); // Gallery Place Chinatown
StationsAndLines[50] = new StationAndLine(LinedStationId: 51, StationNumber: 5947, LineName: "Red"); // Judiciary Square
StationsAndLines[51] = new StationAndLine(LinedStationId: 52, StationNumber: 7720, LineName: "Red"); // Union Station
StationsAndLines[52] = new StationAndLine(LinedStationId: 53, StationNumber: 5248, LineName: "Red"); // NoMa-Gallaudet U
StationsAndLines[53] = new StationAndLine(LinedStationId: 54, StationNumber: 1827, LineName: "Red"); // Rhode Island Ave-Brentwood
StationsAndLines[54] = new StationAndLine(LinedStationId: 55, StationNumber: 3330, LineName: "Red"); // Brookland-CUA
StationsAndLines[55] = new StationAndLine(LinedStationId: 56, StationNumber: 9794, LineName: "Red"); // Fort Totten
StationsAndLines[56] = new StationAndLine(LinedStationId: 57, StationNumber: 3860, LineName: "Red"); // Takoma
StationsAndLines[57] = new StationAndLine(LinedStationId: 58, StationNumber: 1475, LineName: "Red"); // Silver Spring
StationsAndLines[58] = new StationAndLine(LinedStationId: 59, StationNumber: 7707, LineName: "Red"); // Forest Glen
StationsAndLines[59] = new StationAndLine(LinedStationId: 60, StationNumber: 6295, LineName: "Red"); // Wheaton
StationsAndLines[60] = new StationAndLine(LinedStationId: 61, StationNumber: 2837, LineName: "Red"); // Glenmont
StationsAndLines[61] = new StationAndLine(LinedStationId: 62, StationNumber: 3975, LineName: "Blue"); // Downtown Largo
StationsAndLines[62] = new StationAndLine(LinedStationId: 63, StationNumber: 9486, LineName: "Blue"); // Morgan Blvd
StationsAndLines[63] = new StationAndLine(LinedStationId: 64, StationNumber: 9357, LineName: "Blue"); // Addison Road
StationsAndLines[64] = new StationAndLine(LinedStationId: 65, StationNumber: 8374, LineName: "Blue"); // Capitol Heights
StationsAndLines[65] = new StationAndLine(LinedStationId: 66, StationNumber: 2082, LineName: "Blue"); // Benning Road
StationsAndLines[66] = new StationAndLine(LinedStationId: 67, StationNumber: 2739, LineName: "Blue"); // Stadium-Armory
StationsAndLines[67] = new StationAndLine(LinedStationId: 68, StationNumber: 3973, LineName: "Blue"); // Potomac Ave
StationsAndLines[68] = new StationAndLine(LinedStationId: 69, StationNumber: 1818, LineName: "Blue"); // Eastern Market
StationsAndLines[69] = new StationAndLine(LinedStationId: 70, StationNumber: 3000, LineName: "Blue"); // Capitol South
StationsAndLines[70] = new StationAndLine(LinedStationId: 71, StationNumber: 9475, LineName: "Blue"); // Federal Center SW
StationsAndLines[71] = new StationAndLine(LinedStationId: 72, StationNumber: 3947, LineName: "Blue"); // L'Enfant Plaza
StationsAndLines[72] = new StationAndLine(LinedStationId: 73, StationNumber: 4826, LineName: "Blue"); // Smithsonian
StationsAndLines[73] = new StationAndLine(LinedStationId: 74, StationNumber: 2022, LineName: "Blue"); // Federal Triangle
StationsAndLines[74] = new StationAndLine(LinedStationId: 75, StationNumber: 4480, LineName: "Blue"); // Metro Center
StationsAndLines[75] = new StationAndLine(LinedStationId: 76, StationNumber: 5395, LineName: "Blue"); // McPherson Square
StationsAndLines[76] = new StationAndLine(LinedStationId: 77, StationNumber: 7118, LineName: "Blue"); // Farragut West
StationsAndLines[77] = new StationAndLine(LinedStationId: 78, StationNumber: 6924, LineName: "Blue"); // Foggy Bottom-GWU
StationsAndLines[78] = new StationAndLine(LinedStationId: 79, StationNumber: 2841, LineName: "Blue"); // Rosslyn
StationsAndLines[79] = new StationAndLine(LinedStationId: 80, StationNumber: 8486, LineName: "Blue"); // Arlington Cemetery
StationsAndLines[80] = new StationAndLine(LinedStationId: 81, StationNumber: 3974, LineName: "Blue"); // Pentagon
StationsAndLines[81] = new StationAndLine(LinedStationId: 82, StationNumber: 6470, LineName: "Blue"); // Pentagon City
StationsAndLines[82] = new StationAndLine(LinedStationId: 83, StationNumber: 8684, LineName: "Blue"); // Crystal City
StationsAndLines[83] = new StationAndLine(LinedStationId: 84, StationNumber: 9485, LineName: "Blue"); // Ronald Reagan Washington National Airport
StationsAndLines[84] = new StationAndLine(LinedStationId: 85, StationNumber: 4084, LineName: "Blue"); // Potomac Yard
StationsAndLines[85] = new StationAndLine(LinedStationId: 86, StationNumber: 1575, LineName: "Blue"); // Braddock Road
StationsAndLines[86] = new StationAndLine(LinedStationId: 87, StationNumber: 5592, LineName: "Blue"); // King St-Old Town
StationsAndLines[87] = new StationAndLine(LinedStationId: 88, StationNumber: 2205, LineName: "Blue"); // Van Dorn Street
StationsAndLines[88] = new StationAndLine(LinedStationId: 89, StationNumber: 2859, LineName: "Blue"); // Franconia-Springfield
StationsAndLines[89] = new StationAndLine(LinedStationId: 90, StationNumber: 6083, LineName: "Orange"); // New Carrollton
StationsAndLines[90] = new StationAndLine(LinedStationId: 91, StationNumber: 2008, LineName: "Orange"); // Landover
StationsAndLines[91] = new StationAndLine(LinedStationId: 92, StationNumber: 2938, LineName: "Orange"); // Cheverly
StationsAndLines[92] = new StationAndLine(LinedStationId: 93, StationNumber: 4244, LineName: "Orange"); // Deanwood
StationsAndLines[93] = new StationAndLine(LinedStationId: 94, StationNumber: 3815, LineName: "Orange"); // Minnesota Ave
StationsAndLines[94] = new StationAndLine(LinedStationId: 95, StationNumber: 2739, LineName: "Orange"); // Stadium-Armory
StationsAndLines[95] = new StationAndLine(LinedStationId: 96, StationNumber: 3973, LineName: "Orange"); // Potomac Ave
StationsAndLines[96] = new StationAndLine(LinedStationId: 97, StationNumber: 1818, LineName: "Orange"); // Eastern Market
StationsAndLines[97] = new StationAndLine(LinedStationId: 98, StationNumber: 3000, LineName: "Orange"); // Capitol South
StationsAndLines[98] = new StationAndLine(LinedStationId: 99, StationNumber: 9475, LineName: "Orange"); // Federal Center SW
StationsAndLines[99] = new StationAndLine(LinedStationId: 100, StationNumber: 3947, LineName: "Orange"); // L'Enfant Plaza
StationsAndLines[100] = new StationAndLine(LinedStationId: 101, StationNumber: 4826, LineName: "Orange"); // Smithsonian
StationsAndLines[101] = new StationAndLine(LinedStationId: 102, StationNumber: 2022, LineName: "Orange"); // Federal Triangle
StationsAndLines[102] = new StationAndLine(LinedStationId: 103, StationNumber: 4480, LineName: "Orange"); // Metro Center
StationsAndLines[103] = new StationAndLine(LinedStationId: 104, StationNumber: 5395, LineName: "Orange"); // McPherson Square
StationsAndLines[104] = new StationAndLine(LinedStationId: 105, StationNumber: 7118, LineName: "Orange"); // Farragut West
StationsAndLines[105] = new StationAndLine(LinedStationId: 106, StationNumber: 6924, LineName: "Orange"); // Foggy Bottom-GWU
StationsAndLines[106] = new StationAndLine(LinedStationId: 107, StationNumber: 2841, LineName: "Orange"); // Rosslyn
StationsAndLines[107] = new StationAndLine(LinedStationId: 108, StationNumber: 1857, LineName: "Orange"); // Court House
StationsAndLines[108] = new StationAndLine(LinedStationId: 109, StationNumber: 7497, LineName: "Orange"); // Clarendon
StationsAndLines[109] = new StationAndLine(LinedStationId: 110, StationNumber: 4174, LineName: "Orange"); // Virginia Square-GMU
StationsAndLines[110] = new StationAndLine(LinedStationId: 111, StationNumber: 8111, LineName: "Orange"); // Ballston-MU
StationsAndLines[111] = new StationAndLine(LinedStationId: 112, StationNumber: 1584, LineName: "Orange"); // East Falls Church
StationsAndLines[112] = new StationAndLine(LinedStationId: 113, StationNumber: 5022, LineName: "Orange"); // West Falls Church
StationsAndLines[113] = new StationAndLine(LinedStationId: 114, StationNumber: 2858, LineName: "Orange"); // Dunn Loring-Merrifield
StationsAndLines[114] = new StationAndLine(LinedStationId: 115, StationNumber: 2862, LineName: "Orange"); // Vienna/Fairfax-GMU
StationsAndLines[115] = new StationAndLine(LinedStationId: 116, StationNumber: 3975, LineName: "Silver"); // Downtown Largo
StationsAndLines[116] = new StationAndLine(LinedStationId: 117, StationNumber: 9486, LineName: "Silver"); // Morgan Blvd
StationsAndLines[117] = new StationAndLine(LinedStationId: 118, StationNumber: 9357, LineName: "Silver"); // Addison Road
StationsAndLines[118] = new StationAndLine(LinedStationId: 119, StationNumber: 8374, LineName: "Silver"); // Capitol Heights
StationsAndLines[119] = new StationAndLine(LinedStationId: 120, StationNumber: 2082, LineName: "Silver"); // Benning Road
StationsAndLines[120] = new StationAndLine(LinedStationId: 121, StationNumber: 6083, LineName: "Silver"); // New Carrollton
StationsAndLines[121] = new StationAndLine(LinedStationId: 122, StationNumber: 2008, LineName: "Silver"); // Landover
StationsAndLines[122] = new StationAndLine(LinedStationId: 123, StationNumber: 2938, LineName: "Silver"); // Cheverly
StationsAndLines[123] = new StationAndLine(LinedStationId: 124, StationNumber: 4244, LineName: "Silver"); // Deanwood
StationsAndLines[124] = new StationAndLine(LinedStationId: 125, StationNumber: 3815, LineName: "Silver"); // Minnesota Ave
StationsAndLines[125] = new StationAndLine(LinedStationId: 126, StationNumber: 2739, LineName: "Silver"); // Stadium-Armory
StationsAndLines[126] = new StationAndLine(LinedStationId: 127, StationNumber: 3973, LineName: "Silver"); // Potomac Ave
StationsAndLines[127] = new StationAndLine(LinedStationId: 128, StationNumber: 1818, LineName: "Silver"); // Eastern Market
StationsAndLines[128] = new StationAndLine(LinedStationId: 129, StationNumber: 3000, LineName: "Silver"); // Capitol South
StationsAndLines[129] = new StationAndLine(LinedStationId: 130, StationNumber: 9475, LineName: "Silver"); // Federal Center SW
StationsAndLines[130] = new StationAndLine(LinedStationId: 131, StationNumber: 3947, LineName: "Silver"); // L'Enfant Plaza
StationsAndLines[131] = new StationAndLine(LinedStationId: 132, StationNumber: 4826, LineName: "Silver"); // Smithsonian
StationsAndLines[132] = new StationAndLine(LinedStationId: 133, StationNumber: 2022, LineName: "Silver"); // Federal Triangle
StationsAndLines[133] = new StationAndLine(LinedStationId: 134, StationNumber: 4480, LineName: "Silver"); // Metro Center
StationsAndLines[134] = new StationAndLine(LinedStationId: 135, StationNumber: 5395, LineName: "Silver"); // McPherson Square
StationsAndLines[135] = new StationAndLine(LinedStationId: 136, StationNumber: 7118, LineName: "Silver"); // Farragut West
StationsAndLines[136] = new StationAndLine(LinedStationId: 137, StationNumber: 6924, LineName: "Silver"); // Foggy Bottom-GWU
StationsAndLines[137] = new StationAndLine(LinedStationId: 138, StationNumber: 2841, LineName: "Silver"); // Rosslyn
StationsAndLines[138] = new StationAndLine(LinedStationId: 139, StationNumber: 1857, LineName: "Silver"); // Court House
StationsAndLines[139] = new StationAndLine(LinedStationId: 140, StationNumber: 7497, LineName: "Silver"); // Clarendon
StationsAndLines[140] = new StationAndLine(LinedStationId: 141, StationNumber: 4174, LineName: "Silver"); // Virginia Square-GMU
StationsAndLines[141] = new StationAndLine(LinedStationId: 142, StationNumber: 8111, LineName: "Silver"); // Ballston-MU
StationsAndLines[142] = new StationAndLine(LinedStationId: 143, StationNumber: 1584, LineName: "Silver"); // East Falls Church
StationsAndLines[143] = new StationAndLine(LinedStationId: 144, StationNumber: 7946, LineName: "Silver"); // McLean
StationsAndLines[144] = new StationAndLine(LinedStationId: 145, StationNumber: 5359, LineName: "Silver"); // Tysons
StationsAndLines[145] = new StationAndLine(LinedStationId: 146, StationNumber: 6622, LineName: "Silver"); // Greensboro
StationsAndLines[146] = new StationAndLine(LinedStationId: 147, StationNumber: 4925, LineName: "Silver"); // Spring Hill
StationsAndLines[147] = new StationAndLine(LinedStationId: 148, StationNumber: 2860, LineName: "Silver"); // Wiehle-Reston East
StationsAndLines[148] = new StationAndLine(LinedStationId: 149, StationNumber: 9638, LineName: "Silver"); // Reston Town Center
StationsAndLines[149] = new StationAndLine(LinedStationId: 150, StationNumber: 9751, LineName: "Silver"); // Herndon
StationsAndLines[150] = new StationAndLine(LinedStationId: 151, StationNumber: 5297, LineName: "Silver"); // Innovation Center
StationsAndLines[151] = new StationAndLine(LinedStationId: 152, StationNumber: 3366, LineName: "Silver"); // Washington Dulles International Airport
StationsAndLines[152] = new StationAndLine(LinedStationId: 153, StationNumber: 8174, LineName: "Silver"); // Loudoun Gateway
StationsAndLines[153] = new StationAndLine(LinedStationId: 154, StationNumber: 9393, LineName: "Silver"); // Ashburn
}
}
}Constant Fields and Static Types
If you have a value that is accessed in different parts of your project, you can create a constant for that value in a class. If you have many values that follow that scenario, you can create their constants in a class. Wherever the constant is needed throughout your project, you can access it from its class. In this description, you would have to declare a variable of the class and then access the constant from that variable. To make it a little easier to access the constant, a good technique is to create the class as a static one. If you do that, you can access the constant by using the name of the class.
Practical Learning: Creating Global Constants
namespace MetropolitanTransitSystem2.Models
{
internal static class RoutineConstants
{
public const string LineTitle = "Metro Line";
public const string LinesTitle = "Metro Lines";
public const string StationsTitle = "Metro Stations";
public const string ApplicationTitle = "Metropolitan Area Transit Authority";
public const string LinesAnswerError = "The value you typed cannot identify a metro line.";
public const string DoubleLine = "====================================================================";
public const string SingleLine = "--------------------------------------------------------------------";
public const string IntroductoryMessage = "This application is meant to assist metro commuters and metropolitan \n" +
"area visitors. From this application, a user can see a list of metro \n" +
"lines or a list of all metro stations. A user can also select a metro \n" +
"line and get a list of the metro stations on that particular metro \n" +
"line. A user can also get detailed information about a metro line \n" +
"or a metro station. A user can also enquire on how to get to a \n" +
"popular point of interest.";
}
}using static System.Console;
using MetropolitanTransitSystem10.Models;
WriteLine(RoutineConstants.ApplicationTitle);
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.IntroductoryMessage);
Database db = new();
string? actionSelection = string.Empty;
do
{
WriteLine(RoutineConstants.DoubleLine);
WriteLine("What do you want to do?");
WriteLine("1 - See a list of metro lines.");
WriteLine("2 - See a list of all metro stations.");
WriteLine("3 - Select a metro line and see its metro stations.");
WriteLine("0 - Exit.");
Write("Enter your selection: ");
actionSelection = ReadLine()!;
switch (actionSelection)
{
case "1":
ShowMetroLines();
break;
case "2":
ShowMetroStations();
break;
case "3":
SelectMetroLine();
break;
default:
WriteLine(RoutineConstants.DoubleLine);
WriteLine("Goodbye");
break;
}
} while ((actionSelection == "1") || (actionSelection == "2") || (actionSelection == "3"));
void SelectMetroLine()
{
Clear();
WriteLine(RoutineConstants.ApplicationTitle);
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.LinesTitle);
WriteLine(RoutineConstants.SingleLine);
int i = 0;
while (true)
{
WriteLine("{0} - {1}", db.Lines[i].LineId, db.Lines[i].LineName);
if (i == db.Lines.Length - 1)
{ break; }
i++;
}
WriteLine(RoutineConstants.DoubleLine);
Write("Show the list of metro stations on Line: ");
string strLine = ReadLine()!;
switch (strLine.ToLower())
{
case "1":
case "green":
ShowMetroLine("Green");
break;
case "2":
case "red":
ShowMetroLine("Red");
break;
case "3":
case "yellow":
ShowMetroLine("Yellow");
break;
case "4":
case "blue":
ShowMetroLine("Blue");
break;
case "5":
case "orange":
ShowMetroLine("Orange");
break;
case "6":
case "silver":
ShowMetroLine("Silver");
break;
default:
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.LinesAnswerError);
break;
}
}
WriteLine(RoutineConstants.DoubleLine);
void ShowMetroLines()
{
Clear();
WriteLine(RoutineConstants.ApplicationTitle);
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.LinesTitle);
WriteLine(RoutineConstants.SingleLine);
int i = 1;
foreach (MetroLine line in db.Lines)
{
WriteLine("{0} - {1}", i++, line.LineName);
}
}
void ShowMetroStations()
{
Clear();
WriteLine(RoutineConstants.ApplicationTitle);
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.StationsTitle);
WriteLine(RoutineConstants.SingleLine);
int i = 1;
foreach (MetroStation station in db.Stations)
{
WriteLine("{0}:\t{1} - {2}, {3}", i++, station.StationNumber, station.StationName, station.Location);
}
}
void ShowMetroLine(string color)
{
Clear();
WriteLine(RoutineConstants.ApplicationTitle);
WriteLine(RoutineConstants.DoubleLine);
WriteLine(RoutineConstants.StationsTitle);
WriteLine(RoutineConstants.SingleLine);
int i = 1;
Write(RoutineConstants.LineTitle + " - ");
foreach (MetroLine line in db.Lines)
{
if (line.LineName == color)
{
WriteLine(line.LineName);
}
}
WriteLine(RoutineConstants.SingleLine);
foreach (StationAndLine sal in db.StationsAndLines)
{
if (sal.LineName == color)
{
foreach (MetroStation ms in db.Stations)
{
if (ms.StationNumber == sal.StationNumber)
{
WriteLine("{0}\t- {1} {2}", i++, sal.StationNumber, ms.StationName);
}
}
}
}
}Metropolitan Area Transit Authority ==================================================================== This application is meant to assist metro commuters and metropolitan area visitors. From this application, a user can see a list of metro lines or a list of all metro stations. A user can also select a metro line and get a list of the metro stations on that particular metro line. A user can also get detailed information about a metro line or a metro station. A user can also enquire on how to get to a popular point of interest. ==================================================================== What do you want to do? 1 - See a list of metro lines. 2 - See a list of all metro stations. 3 - Select a metro line and see its metro stations. 0 - Exit. Enter your selection:
Metropolitan Area Transit Authority ==================================================================== Metro Lines -------------------------------------------------------------------- 1 - Green 2 - Red 3 - Yellow 4 - Blue 5 - Orange 6 - Silver ==================================================================== What do you want to do? 1 - See a list of metro lines. 2 - See a list of all metro stations. 3 - Select a metro line and see its metro stations. 0 - Exit. Enter your selection:
Metropolitan Area Transit Authority ==================================================================== Metro Stations -------------------------------------------------------------------- 1: 9374 - Congress Heights, (SE, Washington, DC) 2: 2859 - Franconia-Springfield, (Springfield, VA) 3: 6083 - New Carrollton, (New Carrollton, MD) 4: 4480 - Metro Center, (NW, Washington , DC) 5: 1584 - East Falls Church, (Arlington, VA) 6: 6295 - Wheaton, (Wheaton, MD) 7: 3815 - Minnesota Ave, (NE, Washington , DC) 8: 8684 - Crystal City, (Arlington, VA) 9: 5248 - NoMa-Gallaudet U, (NE, Washington, DC) 10: 9393 - Ashburn, (Ashburn, VA) 11: 6497 - Twinbrook, (Rockville, MD) 12: 2969 - Woodley Park-Zoo/Adams Morgan, (NW, Washington, DC) 13: 8686 - Eisenhower Avenue, (Arlington, VA) 14: 4836 - Georgia Ave-Petworth, (NW, Washington, DC) 15: 2841 - Rosslyn, (Arlington, VA) 16: 2082 - Benning Road, (NE, Washington, DC) 17: 8486 - Arlington Cemetery, (Arlington, VA) 18: 5575 - Dupont Circle, (NW, Washington, DC) 19: 9638 - Reston Town Center, (Reston, VA) 20: 3584 - Gallery Place Chinatown, (NW, Washington, DC) 21: 7597 - West Hyattsville, (Hyattsville, MD) 22: 4975 - Shaw-Howard U, (NW, Washington, DC) 23: 2014 - Shady Grove, (Rockville, MD) 24: 5395 - McPherson Square, (NW, Washington, DC) 25: 7497 - Clarendon, (Arlington, VA) 26: 9794 - Fort Totten, (NE, Washington, DC) 27: 3975 - Downtown Largo, (Largo, MD) 28: 1575 - Braddock Road, (Alexandria, VA) 29: 8473 - Naylor Road, (Hillcrest Heights, MD) 30: 5297 - Innovation Center, (Herndon, VA) 31: 7118 - Farragut West, (NW, Washington, DC) 32: 1155 - Suitland, (Suitland, MD) 33: 3330 - Brookland-CUA, (NE, Washington, DC) 34: 5739 - Grosvenor-Strathmore, (North Bethesda, MD) 35: 1486 - Archives-Navy Memorial-Penn Quarter, (NW, Washington, DC) 36: 7946 - McLean, (McLean, VA) 37: 2938 - Cheverly, (Cheverly, MD) 38: 5947 - Judiciary Square, (NW, Washington, DC) 39: 8111 - Ballston-MU, (Arlington, VA) 40: 1770 - Tenleytown-AU, (NW, Washington, DC) 41: 3974 - Pentagon, (Arlington, VA) 42: 6866 - Mt Vernon Sq 7th St-Convention Center, (NW, Washington, DC) 43: 8374 - Capitol Heights, (Capitol Heights, MD) 44: 2493 - Van Ness-UDC, (NW, Washington, DC) 45: 5592 - King St-Old Town, (Alexandria, VA) 46: 7720 - Union Station, (NE, Washington, DC) 47: 1862 - Greenbelt, (Beltsville, MD) 48: 4084 - Potomac Yard, (Alexandria, VA) 49: 9795 - Medical Center, (Bethesda, MD) 50: 2860 - Wiehle-Reston East, (Reston, VA) 51: 9475 - Federal Center SW, (SW, Washington, DC) 52: 8263 - Waterfront, (SW, Washington, DC) 53: 9537 - College Park-U of Md, (College Park, MD) 54: 3383 - Huntington, (Alexandria, VA) 55: 7468 - Friendship Heights, (NW, Washington, DC) 56: 1475 - Silver Spring, (Silver Spring, MD) 57: 5022 - West Falls Church, (Falls Church, VA) 58: 3947 - L'Enfant Plaza, (SW, Washington, DC) 59: 6470 - Pentagon City, (Arlington, VA) 60: 9244 - Navy Yard-Ballpark, (SE, Washington, DC) 61: 1660 - Rockville, (Rockville, MD) 62: 4244 - Deanwood, (NE, Washington, DC) 63: 9485 - Ronald Reagan Washington National Airport, (Arlington, VA) 64: 3973 - Potomac Ave, (SE, Washington, DC) 65: 7385 - North Bethesda, (North Bethesda, MD) 66: 1857 - Court House, (Arlington, VA) 67: 3860 - Takoma, (NW, Washington, DC) 68: 6483 - Branch Ave, (Suitland, MD) 69: 9751 - Herndon, (Herndon, VA) 70: 2927 - Farragut North, (NW, Washington, DC) 71: 8463 - Southern Avenue, (Hillcrest Heights, MD) 72: 3366 - Washington Dulles International Airport, (Dulles, VA) 73: 2058 - Anacostia, (SE, Washington, DC) 74: 2858 - Dunn Loring-Merrifield, (Vienna, VA) 75: 2837 - Glenmont, (Silver Spring, MD) 76: 1818 - Eastern Market, (SE, Washington, DC) 77: 4174 - Virginia Square-GMU, (Arlington, VA) 78: 4844 - Bethesda, (Bethesda, MD) 79: 1827 - Rhode Island Ave-Brentwood, (NE, Washington, DC) 80: 9479 - Hyattsville Crossing, (Hyattsville, MD) 81: 3000 - Capitol South, (SE, Washington, DC) 82: 6622 - Greensboro, (Vienna, VA) 83: 2022 - Federal Triangle, (NW, Washington , DC) 84: 9357 - Addison Road-Seat Pleasant, (Capitol Heights, MD) 85: 6924 - Foggy Bottom-GWU, (NW, Washington , DC) 86: 2862 - Vienna/Fairfax-GMU, (Fairfax, VA) 87: 2080 - Columbia Heights, (NW, Washington, DC) 88: 7707 - Forest Glen, (Silver Spring , MD) 89: 5359 - Tysons, (McLean, VA) 90: 7722 - U Street/African-Amer Civil War Memorial/Cardozo, (NW, Washington, DC) 91: 2008 - Landover, (Landover, MD) 92: 2957 - Cleveland Park, (NW, Washington, DC) 93: 8174 - Loudoun Gateway, (Ashburn, VA) 94: 4826 - Smithsonian, (SW, Washington, DC) 95: 2205 - Van Dorn Street, (Alexandria, VA) 96: 9486 - Morgan Boulevard, (Landover, MD) 97: 4925 - Spring Hill, (Vienna, VA) 98: 2739 - Stadium-Armory, (SE, Washington, DC) ==================================================================== What do you want to do? 1 - See a list of metro lines. 2 - See a list of all metro stations. 3 - Select a metro line and see its metro stations. 0 - Exit. Enter your selection:
Metropolitan Area Transit Authority ==================================================================== Metro Lines -------------------------------------------------------------------- 1 - Green 2 - Red 3 - Yellow 4 - Blue 5 - Orange 6 - Silver ==================================================================== Show the list of metro stations on Line:
Metropolitan Area Transit Authority ==================================================================== Metro Stations -------------------------------------------------------------------- Metro Line - Red -------------------------------------------------------------------- 1 - 2014 Shady Grove 2 - 1660 Rockville 3 - 6497 Twinbrook 4 - 7385 North Bethesda 5 - 5739 Grosvenor-Strathmore 6 - 9795 Medical Center 7 - 4844 Bethesda 8 - 7468 Friendship Heights 9 - 1770 Tenleytown-AU 10 - 2493 Van Ness-UDC 11 - 2957 Cleveland Park 12 - 2969 Woodley Park-Zoo/Adams Morgan 13 - 5575 Dupont Circle 14 - 2927 Farragut North 15 - 4480 Metro Center 16 - 3584 Gallery Place Chinatown 17 - 5947 Judiciary Square 18 - 7720 Union Station 19 - 5248 NoMa-Gallaudet U 20 - 1827 Rhode Island Ave-Brentwood 21 - 3330 Brookland-CUA 22 - 9794 Fort Totten 23 - 3860 Takoma 24 - 1475 Silver Spring 25 - 7707 Forest Glen 26 - 6295 Wheaton 27 - 2837 Glenmont ==================================================================== What do you want to do? 1 - See a list of metro lines. 2 - See a list of all metro stations. 3 - Select a metro line and see its metro stations. 0 - Exit. Enter your selection:
namespace PlanarCurves3.Models
{
internal class Circle
{
public const double PI = 3.14;
public double Radius { get; set; }
public Circle()
{
Radius = 0.00;
}
public double CalculateDiameter()
{
return Radius * 2.00;
}
public double CalculateArea()
{
return Radius * Radius * PI;
}
}
}using PlanarCurves3.Models; using static System.Console; var round = new Circle(); WriteLine("====================================="); WriteLine("Enter the value to process the circle"); Write("Radius: "); round.Radius = double.Parse(ReadLine()); WriteLine("====================================="); WriteLine("Geometry - Circle Summary"); WriteLine("-------------------------------------"); WriteLine("Radius: {0}", round.Radius); WriteLine("Diameter: {0}", round.CalculateDiameter()); WriteLine("Area: {0}", round.CalculateArea()); Write("=====================================");
===================================== Enter the value to process the circle Radius: 248.73 ===================================== Geometry - Circle Summary ------------------------------------- Radius: 248.73 Diameter: 497.46 Area: 194261.16450599997 ===================================== Press any key to close this window . . .
Practical Learning: Ending the Lesson
|
|
|||
| Previous | Copyright © 2001-2026, FunctionX | Last Update: Monday 31 August 2026, 09:16 | Next |
|
|
|||