Post on 26-Dec-2015
transcript
BİL528 – Bilgisayar Programlama II
Variables
1
Contents
• Variables
2
Variables
• In your programs, you must determine the type of your data (int, string, etc.)
• In object oriented programming languages, you must also determine the level of visibility of your data (public, private, etc).
• This visibility is known as scope.
3
Visual C# Data Types
• In Visual C#, there are two categories of data types:– Value types– Reference types
4
Integral Value TypesType Approx. Range Sizebyte 0 to 255 1 bytesbyte –128 to 127 1 bytechar U+0000 to U+FFFF 2 bytesshort –32768 to 32767 2 bytesushort 0 to 65535 2 bytesint –2,147,483,648 to 2,147,483,647 4 bytesuint 0 to 4,294,967,295 4 byteslong –9,223,372,036,854,775,808 to
9,223,372,036,854,775,8078 bytes
ulong 0 to 18,446,744,073,709,551,615 8 bytes5
Floating Value Types
Type Approx. Range Precision Sizefloat ±1.5 × 10−45 to
±3.4 × 10387 digits 32 bits
double ±5.0 × 10−324 to ±1.7 × 10308
15-16 digits 64 bits
decimal ±1.0 × 10−28 to ±7.9 × 1028
28-29 digits 128 bits
6
* Use decimal for currencies.
Other Value Types
Type Explanationbool Stores Boolean values, true and falseenum Enumeration. Example:
enum Days {Mon, Tue, Wed, Thu, Fri, Sat, Sun};
struct Lightweight version of class.
7
Reference TypesType Explanationstring Unicode character arraysobject Everything in C# is inherited from object class
directly or indirectlyclass Blueprint of objectsdelegate Method signature (like function pointers in C)interface An interface contains only the signatures
of methods, properties, events or indexers.
8
Type Casting
• There are two types of type casting: Implicit and Explicit• Implicit conversions are done automatically by the
compiler– Widening cast– No data loss– Example: conversion from float to double
• Explicit conversions require programmers approval– Narrowing cast– Data may be lost– Example: conversion from double to float
9
Safe Conversions
Type Can Be Safely Converted Tobyte short, int, long, float, double, decimalshort int, long, float, double, decimalint long, float, double, decimallong float, double, decimalfloat doubledouble decimal
10
Explicitly Converting Data
• Simplest way is using C syntax:– double d = 2.3;– int i = (int) d;
• You can also use Convert class:– double d = 2.3;– int i = Convert.ToInt32(d);
11
Some Common Methods of Convert Class
Method Converts toToBoolean boolToByte byteToSByte sbyteToChar charToDateTime DateTimeToInt16 shortToInt32 intToInt64 long
12
Some Common Methods of Convert Class
Method Converts toToDecimal decimalToDouble doubleToSingle floatToString stringToUInt16 ushortToUInt32 uintToUInt64 ulong
13
Declaring Variables
• datatype variable_name = initial_value;– int a;– string str = "BIM211";– double m = 10, n = 20;– long k, l = 100;
• Visual C# is a strongly typed language; therefore, you must always declare the data type of a variable.
• In addition, Visual C# requires that all variables be initialized before they’re used.
14
Where to put variables?
• Put variables in the class definition above the methods
15
Arrays
• string[] strMyArray;• strMyArray = new string[10];
• Accessing elements:• strMyArray[0] = "BIM211";• strMyArray[1] = "Visual Programming";
16
Multidimensional Arrays
• int[,] intMeasurements;• intMeasurements = new int[3, 2];
• Accessing elements:• intMeasurements[0, 0] = 1;• intMeasurements[2, 1] = 6;
17
Constants
• You can define constant variables whose value can not be changed during the program execution by keyword const:
• const double PI = 3.14159;
18
Exercise
• Create a boolean variable to store whether a confirmation box appears or not
• Change its value when “Confirm on exit” menu item is clicked
• Handle the FormClosing event and write the following code:
• (see next slide)
19
FormClosing Event
if (m_blnPromptOnExit){ if (MessageBox.Show(“Close the Picture Viewer
program?”, “Confirm Exit”, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== DialogResult.No) { e.Cancel = true; }}
20
Arithmetic Operations
• Arithmetic operations are same as C but you may prefer to read chapter 12 of the textbook.
21
String Operations
• Length• SubString()• IndexOf()• Trim(), TrimStart(), TrimEnd(), Remove()• Replace()
22
Date/Time Operations
• DateTime dateMyBirthday = new DateTime(2008,7,22);
• AddDays(), AddHours(), etc.• ToLongDateString()• ToShortDateString()• ToLongTimeString()• ToShortTimeString()
23
Date/Time Operations
• DateTime.Today• DateTime.Now
24