Download presentation
Presentation is loading. Please wait.
Published byKelly Bailey Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.