CS04 - Java to C# Conversion - 1 Day

Course Description

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#.


Pre-requisites

Programming experience with Java.


Objectives

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#.


Environment

Lecture based, with live demonstrations of concepts covered.


Customisation

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.


Course Details

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)
Enums
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
Exceptions
XML Documentation vs Javadoc

TYPES
Partial Classes
Static Classes
Nullable Types
Implicit Typing (var keyword)
Anonymous Types
Dynamic Typing (C# 4)

LANGUAGE FEATURES
Indexers
Structs
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


Course Enquiry