


We learned about User-Defined-Exceptions in .NET and practiced exceptions of this type. we explored the dilemma of who should handle the exception? in our restaurant project. next topic was testing framework. what is Test framework? why do we need it? what is Test Driven Development (TDD)? . after the discussion, we created our first Unit-Test project of a calculator, and expanded it to test our UniqueListClass

More topics covered:
Links:

We learned about Exceptions in .NET and the SystemException vs ApplicationException. we practiced the try-catch-finally block. we learned how to stop the program in debugger using the Exceptions-Settings. we learned the benefit of the StackTrace. and finally we used throw to initiate exceptions our selves

More topics covered:
Links:

We learned about Indexers and the different types of usages. we explored creation of Generic classes using T and implementing indexer, ctor, methods, properties, ToString using type T. we saw how to make foreach available for our class using IEnumerable<T>

More topics covered:
Links:

We learned about Dictionary and Hashmaps and the hash algorithm usage to store and retrieve data. we used int, string and object types for both keys and values and explored the Dictionary API

More topics covered:
Links:

We learned about ArrayList and the process of boxing-unboxing. we explored memory type Stack vs Heap and how .NET calls the functions using stack-frame. We saw Generic List class which avoids the boxing-unboxing operations. We got familiar with the LINQ API. finally we implemented a Stack data-type functions using List commands (behind the scenes)

More topics covered:
Links:

We learned about operator overloading. we used dotPeek to investigate c# “under the hood” code. we saw operator == requires also != and also Equals

More topics covered:
Links:

We learned about the serialization and deserialization process. we used the XML format. we wrote to a file using file-stream and XmlSerializer

More topics covered:
Links:

We learned about array sorting using IComparable and IComparer. we implemented the Generics form of the interfaces IComparable IComparer. we also performed casting using (type)obj.

More topics covered:
Links:

We learned about properties in C#. in the second part of the class we learned about interfaces in C#. we investigated objects using: is, as, null key-words

More topics covered:
Links: