1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o TypeForwardedToAttribute.NET Framework ( System ) o IComparable o IDisposable o IConvertible o ICloneable Microsoft.NET Framework 2.0
1 Framework o IEquatable o IFormattable o TypeForwardedToAttribute.NET Framework ( System ) o Delegate o EventArgs o EventHandler 1...3 2...19 3...36 4...62.NET Framework 1.0.NET Framework 1.1.NET Framework 2.0 Web-basedMicrosoft Windows-based Microsoft Visual Studio 2005 Microsoft Visual Basic C# Visual Studio Visual Basic C# Windows Forms Visual Studio
1 1.NET Framework (stack) MORE INFO 2 System.ValueType 30.NET Framework.NET Framework 1-1 Microsoft.NET Framework 2.0
1 Framework (Visual Basic/ C# ) System.SByte (SByte/sbyte) System.Byte (Byte/byte) System.Int16 (Short/short) 1 128 127 1 0 255 2-32768 32767 System.Int32 (Integer/int) 4-2147483648 2147483647 System.UInt32 (UInteger/uint) 4 0 4294967295 System.Int64 (Long/long) System.Single (Single/float) System.Double (Double/double) System.Decimal (Decimal/decimal) 1-1 8-9223372036854775808 9223372036854775807 4 3.402823E+38 3.402823E+38 8 1.79769313486232E+308 1.79769313486232E+308 16 7922816251426433759354 3950335 7922816251426433759 35439 50335 BEST PRACTICES 32 ( Int32 UInt32 ), Double
1 Visual Basic C# 1-2 (Visual Basic/ C# ) System.Char (Char/char) System.Boolean (Boolean/bool) 2 Unicode 4 True/False System.IntPtr () System.DateTime (Date/date) 1-2 8 1/1/0001 12:00:00 AM 12/31/9999 11:59:59 PM Framework 300 2 ToString ToString System.Object NOTE Object.NET Framework System.Object Framework Microsoft.NET Framework 2.0
1 Framework New ( null 0) Dim b As Boolean = False bool b = false; NOTE Visual Basic C# Visual Basic C# Visual Basic C# Visual Basic NOTE Visual Basic C# C# Visual Basic C# Visual Basic Visual Basic Visual Basic Nullable/ null Boolean truefalse null
1 Dim b As Nullable(Of Boolean) = Nothing Nullable<bool> b = null; // Shorthand notation, only for C# bool? b = null; NOTE.NET 2.0 Nullable.NET 2.0 nullable HasValue Value HasValue If b.hasvalue Then Console.WriteLine("b is 0.", b.value) _ Else Console.WriteLine("b is not set.") if (b.hasvalue)console.writeline("b is 0.", b.value) else Console.WriteLine("b is not set."); (Structures) structs System.Drawing.Point X Y Point Microsoft.NET Framework 2.0
1 Framework -Requires reference to System.Drawing ' Create point Dim p As New System.Drawing.Point(20, 30) ' Move point diagonally p.offset(-1, -1) Console.WriteLine("Point X 0, Y 1", p.x, p.y) -Requires reference to System.Drawing // Create point System.Drawing.Point p = new System.Drawing.Point(20, 30); // Move point diagonally p.offset(-1, -1); Console.WriteLine("Point X 0, Y 1", p.x, p.y); Visual Basic Structure C# struct Structure Cycle ' Private fields Dim _val, _min, _max As Integer ' Constructor Public Sub New(ByVal min As Integer, ByVal max As Integer) val = min :_min = min :_max = max End Sub ' Public members Public Property Value() As Integer Get Return _val End Get Set(ByVal value As Integer) ' Ensure new setting is between _min and _max. If value > _max Then _val = _min _ Else If value < _min Then _val = _max _ Else _val = value End Set
1 End Property Public Overrides Function ToString() As String Return Value.ToString End Function Public Function ToInteger() As Integer Return Value End Function ' Operators (new in 2.0) Public Shared Operator +(ByVal arg1 As Cycle, _ ByVal arg2 As Integer) As Cycle arg1.value += arg2 Return arg1 End Operator Public Shared Operator -(ByVal arg1 As Cycle, _ ByVal arg2 As Integer) As Cycle arg1.value -= arg2 Return arg1 End Operator End Structure struct Cycle // Private fields int _val, _min, _max; // Constructor public Cycle(int min, int max) _val = min; _min = min; _max = max; public int Value get return _val; set Microsoft.NET Framework 2.0
1 Framework if (value > _max) _val = _min; else if (value < _min) _val = _max; else _val = value; public override string ToString() return Value.ToString(); public int ToInteger() return Value; // Operators (new in.net 2.0) public static Cycle operator +(Cycle arg1, int arg2) arg1.value += arg2; return arg1; public static Cycle operator -(Cycle arg1, int arg2) arg1.value -= arg2; return arg1; NOTE.NET 2.0 Operator.NET 2.0 10
1 Dim degrees As New Cycle(0, 359), quarters As New Cycle(1, 4) For i As Integer = 0 To 8 degrees += 90 :quarters += 1 Console.WriteLine("degrees = 0, quarters = 1", degrees, quarters) Next Cycle degrees = new Cycle(0, 359); Cycle quarters = new Cycle(1, 4); for (int i = 0; i <= 8; i++) degrees += 90; quarters += 1; Console.WriteLine("degrees = 0, quarters = 1", degrees, quarters); Structure/struct ClassCycle Cycle 12 ( 4 ) 16 Microsoft.NET Framework 2.0 11
1 Framework Enum Titles As Integer Mr Ms Mrs Dr End Enum enum Titles :int Mr, Ms, Mrs, Dr ; Titles Visual Studio Dim t As Titles = Titles.Dr Console.WriteLine("0.", t) ' Displays "Dr." Titles t = Titles.Dr; Console.WriteLine("0.", t); // Displays "Dr." Lab Code 12
1 Exercise 1 1. Visual Studio CreateStruct 2. Person Structure Person End Structure struct Person 3. Person o firstname ( String ) o lastname ( String ) o age ( Integer ) Public firstname As String Public lastname As String Public age As Integer public string firstname; public string lastname; public int age; 4. Public Sub New(ByVal _firstname As String, ByVal _lastname As String,_ ByVal _age As Integer) firstname = _firstname lastname = _lastname Microsoft.NET Framework 2.0 13
1 Framework End Sub age = _age public Person(string _firstname, string _lastname, int _age) firstname = _firstname; lastname = _lastname; age = _age; 5. ToString Public Overloads Overrides Function ToString() As String Return firstname + " " + lastname + ", age " + age.tostring End Function public override string ToString() return firstname + " " + lastname + ", age " + age; 6. Main Console.WriteLine Dim p As Person = New Person("Tony", "Allen", 32) Console.WriteLine(p) Person p = new Person("Tony", "Allen", 32); Console.WriteLine(p); 7. 14
1 Exercise 2 Exercise 1 1. Exercise 1 2. Person Genders Male Female Enum Genders Male Female End Enum public enum Genders :int Male, Female ; 3. Genders Person Gender Public firstname As String Public lastname As String Public age As Integer Public gender As Genders Public Sub New(ByVal _firstname As String, ByVal _lastname As String, _ ByVal _age As Integer, ByVal _gender As Genders) firstname = _firstname lastname = _lastname age = _age gender = _gender End Sub public string firstname; public string lastname; public int age; public Genders gender; Microsoft.NET Framework 2.0 15
1 Framework public Person(string _firstname, string _lastname, int _age, Genders _gender) firstname = _firstname; lastname = _lastname; age = _age; gender = _gender; 4. Person.ToString Public Overloads Overrides Function ToString() As String Return firstname + " " + lastname + " (" + gender.tostring() + "), age " + age.tostring End Function public override string ToString() return firstname + " " + lastname + " (" + gender + "), age " + age; 5. Main Person Sub Main() Dim p As Person = New Person("Tony", "Allen", 32, Person.Genders.Male) Console.WriteLine(p) End Sub static void Main(string[] args) Person p = new Person("Tony", "Allen", 32, Person.Genders.Male); Console.WriteLine(p.ToString()); 16
1 6..NET Framework.NET Framework 16 1 1. () A. Decimal B. String C. System.Drawing.Point D. Integer 2. () A. B. C. D. Microsoft.NET Framework 2.0 17
1 Framework 3. nullable A. B. C. D. Dim i As Nullable<Of Integer> = Nothing Nullable(int) i = null; Dim i As Nullable(Of Integer) = Nothing Nullable<int> i = null; Dim i As Integer = Nothing int i = null; Dim i As Integer(Nullable) = Nothing int<nullable> i = null; 4. A. B. C. D. NOTE 18