16. Escaped Characters • quot; (double quote) • (new line) • (horizontal tab) • (backward slash) // A C# variable holding the // c:yAppyFiles path. path = "c:MyAppMyFiles"; Alternatively, you can turn off C# escaping by preceding a string with an @ symbol, as shown here: path = @"c:yAppyFiles";
17. Arrays Arrays allow you to store a series of values that have the same data type. // Create an array with four strings (from index 0 to index 3). // You need to initialize the array with the new keyword in order to use it. string[] stringArray = new string[4]; // Create a 2x4 grid array (with a total of eight integers). int[,] intArray = new int[2, 4]; // Create an array with four strings, one for each number from 1 to 4. string[] stringArray = {"1", "2", "3", "4"}; // Create a 4x2 array (a grid with four rows and two columns). int[,] intArray = {{1, 2}, {3, 4}, {5, 6}, {7, 8}};
18. ArrayList ArrayListdynamicList = new ArrayList(); // Add several strings to the list. The ArrayList is not strongly typed, so you can add any data type dynamicList.Add("one"); dynamicList.Add(2); dynamicList.Add(true); // Retrieve the first string. Notice that the object must be converted to a // string, because there's no way for .NET to be certain what it is. string item = Convert.ToString(dynamicList[0]);
19. Enumeration An enumeration is a group of related constants, each of which is given a descriptive name. Each value in an enumeration corresponds to a preset integer. enumUserType { Admin, Guest, Invalid }
20. Operators & Math functions +, -, *, / ,% are basic operators To use the math operations, you invoke the methods of the System.Math class. myValue = Math.Round(42.889, 2); // myValue = 42.89 myValue = Math.Abs(-10); // myValue = 10.0 myValue = Math.Log(24.212); // myValue = 3.18.. (and so on) myValue = Math.PI; // myValue = 3.14.. (and so on)
21. Type Conversions Converting information from one data type to another Conversions are of two types: widening and narrowing. Widening conversions always succeed. For example, you can always convert a 32-bit integer into a 64-bit integer. intmySmallValue; long myLargeValue; mySmallValue= Int32.MaxValue; myLargeValue = mySmallValue; Or mySmallValue = (int)myLargeValue; intmyInt=1000; short count; count=(short)myInt;
22. Type Conversions Converting information from one data type to another String myString; intmyInteger=100; myString=myInteger.ToString(); String countString=“10”; int count=Convert.ToInt32(countString); or int count=Int32.Parse(countString);
24. DateTime and TimeSpan Types DateTime and Timespane data types have built-in methods and properties Methods & Properties of DateTime : Now Today Year, Date, Month ,Hour, Minute, Second, and Millisecond Add() and Subtract() AddYears(), AddMonths(), AddDays(), AddHours, AddMinutes() DaysIn Month() Methods and Properties of TimeSpan: Days, Hours, Minutes, Seconds, Milliseconds TotalDays, TotalHours, TotalMinutes, TotalSeconds, TotalMilliseconds Add() and Subtract() FromDays(), FromHours(), From Minutes(), FromSeconds()
25. DateTime and TimeSpan Types DateTimemyDate = DateTime.Now; myDate = myDate.AddDays(100); DateTime myDate2 = DateTime.Now.AddHours(3000); TimeSpan difference; difference = myDate2.Subtract(myDate1); double numberOfMinutes; numberOfMinutes = difference.TotalMinutes; // Adding a TimeSpan to a DateTime creates a new DateTime. DateTime myDate1 = DateTime.Now; TimeSpan interval = TimeSpan.FromHours(3000); DateTime myDate2 = myDate1 + interval; // Subtracting one DateTime object from another produces a TimeSpan. TimeSpan difference; difference = myDate2 - myDate1;
26. Conditional Logic All conditional logic starts with a condition: a simple expression that can be evaluated to true or false. Your code can then make a decision to execute different logic depending on the outcome of the condition. To build a condition, you can use any combination of literal values or variables along with logical operators == Equal to != Not Equal to < Less than > Greater than <= Less than or equal to >= Greater than or equal to && Logical and || Logical or
27. Conditional Logic The switch Statement switch (myNumber) { case 1: // Do something. break; case 2: // Do something. break; default: // Do something. break; } The if Statement if (myNumber > 10) { // Do something. } else if (myString == "hello") { // Do something. } else { // Do something
28. Loops Loops allow you to repeat a segment of code multiple times. C# has three basic types of loops • You can loop a set number of times with a for loop. • You can loop through all the items in a collection of data using a foreachloop. • You can loop while a certain condition holds true with a while or do…while loop. THE FOR LOOP string[] stringArray = {"one", "two", "three"}; for (int i = 0; i < stringArray.Length; i++) { System.Diagnostics.Debug.Write(stringArray[i] ); } THE FOREACH LOOP foreach (string element in stringArray) { System.Diagnostics.Debug.Write(element ); }
29. Loops THE WHILE LOOP inti = 0; while (i < 10) { i += 1; // This code executes ten times. } You can also place the condition at the end of the loop using the do…while syntax. In this case, the condition is tested at the end of each pass through the loop: THE DO WHILE LOOP inti = 0; do { i += 1; // This code executes ten times. } while (i < 10);
30. Methods A method also known as function is a named grouping of one or more lines of code. Each method will perform a distinct, logical task. By breaking your code down into methods, you not only simplify your life, but you also make it easier to organize your code into classes // This method doesn't return any information. void MyMethodNoReturnedData() { // Code goes here. } // This method returns an integer. intMyMethodReturnedData() { // As an example, return the number 10. return 10; }
31. Parameter Optional Parameter private string GetUserName(int ID, booluseShortForm = false) { // Code here. } name = GetUserName(401, true); name = GetUserName(401); Use Named parameter for multiple optional parameters: private decimal GetSalesTotalForRegion(intregionID, decimal minSale = 0, decimal maxSale = Decimal.MaxValue, boolincludeTax = false) { // Code here. } total = GetSalesTotalForRegion(523, maxSale: 5000);
32. Delegates Delegates allow you to create a variable that “points” to a method. private string TranslateEnglishToFrench(); { } private delegate string translateLanguage(string inputString); translateLanguage translate; translate=TranslateEnglishToFrench; string frenchString; frenchString=translate(“Hello”); You can make delegate point to any other function also if it has same signature
34. Summary It’s impossible to do justice to an entire language in a single chapter. However, if you’ve programmed before, you’ll find that this chapter provides all the information you need to get started with the C# language. As you work through the full ASP.NET examples in the following chapters, you can refer to this chapter to clear up any language issues. In the next chapter, you’ll learn about more important language concepts and the object-oriented nature of .NET.