Presentation is loading. Please wait.

Presentation is loading. Please wait.

ITF11006.NET The Basics. Data Types – Value Types – Reference Types Flow Control – Conditional – Loop Miscellaneous – Enumerations – Namespaces Class.

Similar presentations


Presentation on theme: "ITF11006.NET The Basics. Data Types – Value Types – Reference Types Flow Control – Conditional – Loop Miscellaneous – Enumerations – Namespaces Class."— Presentation transcript:

1 ITF11006.NET The Basics

2 Data Types – Value Types – Reference Types Flow Control – Conditional – Loop Miscellaneous – Enumerations – Namespaces Class / Struct – Data Members – Functional Mem Base Classes – System.Object – System.String

3 Variables/Constants Syntax [modifier] type identifier [= expression]; Scope – Class/Block Constants [modifier] const type identifier [= constant-expression]; Type Inference var identifier [= expression];

4 Predefined Data Types Value Types Reference Types

5 Predefined Data Types Value Types – Integer Types – Floating Point Types – Decimal Type – Boolean Type – Character Type

6 Integer Types C# data typeDescriptionClass nameRange sbyteA 8-bit signed integer.System.SByte-128:127 shortA 16-bit signed integer.System.Int16-32.768: 32.767 intA 32-bit signed integer.System.Int32-2.147.483.648: 2.147.483.647 longA 64-bit signed integer.System.Int64-9.223.372.036.854.775.808: 9.223.372.036.854.775.807 byteAn 8-bit unsigned integer.System.Byte0:255 ushortA 16-bit unsigned integer.System.UInt160:65535 uintA 32-bit unsigned integer.System.UInt320:4.294.967.295 ulongA 64-bit unsigned integer.System.UInt640:18.446.744.073.709.551.615

7 Floating Point C# data typeDescriptionClass nameSignificant fig.Range floatA single-precision (32-bit) floating-point number. System.Single7+1.5x10 -45 to +3.4x10 38 doubleA double-precision (64-bit) floating-point number. System.Double15/16+5.0x10 -324 to +1.7x10 308

8 Decimal Type C# data typeDescriptionClass nameSignificant fig.Range decimalA 96-bit decimal value. (128 bit space!) System.Decimal28+1.0x10 -28 to +7.9x10 28

9 Boolean Type C# data typeDescriptionClass nameRange boolLogical true or falseSystem.Booleantrue or false

10 Character Type C# data typeDescriptionClass name char16 bits. Represents a single (Unicode) characterSystem.Char

11 Nullable Types (http://msdn.microsoft.com/en-us/library/1t3y8s4s(v=VS.100).aspx) T? or System.Nullable(Of T) Ordinary type plus null

12 Predefined Reference Types Object String

13 Flow Control Conditional – if – switch Loop – for – while – do..while – foreach Jump – goto – break – continue – return

14 Conditional Statements if if (expression) statement1 [else statement2] switch switch (expression) { case constant-expression: statement jump-statement [default: statement jump-statement] }

15 Loops for for ([initializers]; [expression]; [iterators]) statement while while (expression) statement do..while do statement while (expression); foreach foreach (type identifier in expression) statement

16 Jump Statements goto break continue return (throw)

17 Enumerations enum [modifiers] enum identifier [:base-type] {enumerator-list} Inherits from System.Enum Flags Attribute Use enumerations

18 Namespaces Logical grouping of functionality. Using directive

19 Class (/Struct) Data Members – Fields – Constants – Events Function Members – Methods – Properties – Constructor – Destructor – Operators – Indexers

20 Methods syntax [modifiers] return-type method-name([formal-parameter-list]) { statement(s) } Named Arguments string FullName(string firstName, string lastName)… FullName(“Ole”, “Olsen”); FullName(lastName: “Olsen”, firstName: “Ole”); Optional Arguments Method Overloading

21 Properties syntax [modifiers] type identifier { set {accessor-body} get {accessor-body} } Auto-Implemented public string Age(get; private set;) Choosing Between Properties and Methods http://msdn.microsoft.com/en-us/library/ms229054.aspx

22 Construction and Disposal Constructors – Instance – Class – Calling Destructor – Why – How (pattern) Dispose vs. Close

23 Operators Operator Overloading public static Vector operator * (double lhs, Vector rhs) { return new Vector(lhs * rhs.x, lhs * rhs.y, lhs * rhs.z); } public static Vector operator * (Vector lhs, double rhs) { return rhs * lhs; } Console.WriteLine("vect2 * 2 = " + ( vect2 * 2).ToString());

24 Indexers public char this[int index] { get {... } set {... }

25 Instance vs. Class Level Static this vs. class name

26 Struct No inheritance (almost) Constructors Fields are sometimes declared public! Structs are value types

27 Struct vs. class Footprint Performance

28 object (System.Object) Methods Comparing for Equality – Reference Types – Value Types MethodAccess string ToString()public virtual int GetHashCode()public virtual bool Equals(object obj)public virtual bool Equals(object objA, object objB)public static bool ReferenceEquals(object objA, object objB)public static Type GetType()public object MemberwiseClone()protected void Finalize()protected virtual

29 string (System.String) Building Strings – string vs. StringBuilder Formatting – IFormattable Regular Expressions – Matches – Groups – Captures


Download ppt "ITF11006.NET The Basics. Data Types – Value Types – Reference Types Flow Control – Conditional – Loop Miscellaneous – Enumerations – Namespaces Class."

Similar presentations


Ads by Google