A course designed for Java programmers looking for a concise overview of the differences between the two languages, also concentrating on the features introduced into C#.
Programming experience with Java SE 5 or later.
Many Java developers assume that they can code C# knowing only a few of the differences between the languages.
There are many features of C# that Java developers may well be unaware of and this course also aims to show them all the differences enabling them to be profficient in C#:
Lecture based, with live demonstrations of concepts covered.
For on-site courses (i.e. at your premises), we are more than happy to tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course.On-site course enquiry (from £165 pp per day)
- MINOR AND SYNTACTIC DIFFERENCES
- Definitions (IL, CLR, CTS)
- Assemblies vs JARs
- Namespaces vs Packages
- Using vs Imports
- Primitive type comparison
- checked, unchecked Keywords
- Accessibility (scope) modifiers
- Extending classes / Implementing Interfaces
- Constructor Chaining
- Destructors vs finalise
- Properties (inc. auto-implemented) vs Getters and Setters
- Comparison Of Keyword Differences (const, sealed, is, typeof, etc)
- Named Arguments & Optional Parameters (C# 4)
- Overriding Methods Using Virtual & Override
- Differences in Boxing and Unboxing
- Generics and foreach
- Arrays (rentagular and jagged)
- String Formatting Differences
- Attributes vs Annotations
- XML Documentation vs Javadoc
- Partial Classes
- Static Classes
- Nullable Types
- Implicit Typing (var keyword)
- Anonymous Types
- Dynamic Typing (C# 4)
- LANGUAGE FEATURES
- out, ref keywords
- Operator Overloading & User Defined Casts
- IDisposable and using
- Delegates (inc. anonymous methods) & Events
- Multi-Threading with delegates
- Iterators and the yield Keyword
- COLLECTIONS AND DICTIONARIES
- Comparison of Collection and Dictionary Classes
- Collection Initializers
- EXTENSION METHODS, LAMBDA EXPRESSIONS AND LINQ
- Extension Methods
- Lambda Expressions and Expression Trees
- LINQ to Objects
- LINQ to SQL
- LINQ to XML
Interactive practical sessions make up a large part of the course, allowing delegates to demonstrate and reinforce the lectures given. During these sessions the delegate will gain experience of object oriented programming concepts.
Examples are used extensively, ranging from simple code snippets to full applications with complete 'real world' functionality. These are supplied at the start of the course and it is encouraged that the delegates execute and 'experiment' with these under the instructor's guidance as they are introduced.
These examples are available to take away, along with the delegate's own work.
The comprehensive Student Guide supplied is fully indexed serving as a useful reference tool long after the course has finished. Delegates will also be able to access a free help-line with technical questions relating to topics covered on the course.