Autor Beitrag
pslambh
Hält's aus hier
Beiträge: 1



BeitragVerfasst: So 09.03.08 18:43 
Guten Tag!

Dieser Thread richtet sich an die erfahrenen C# Entwickler.
Ich habe ein Examen auf javablackbelt.com erstellt in dem C# Kentnisse geprüft werden.
Nun wollte ich sicherstellen, dass ich nichts zu spezifisches frage und auch nichts ausgelassen habe.
Diese Examen fragen allerdings nur C# 2 Features ab (C# 3 kommt dann) und außerdem nur Sprachkern spezifische.
Daher bitte keine anderen Dinge. Auch wenn z.B.: Reflection wirklich genial ist, hat dies nichts in dem Examen zu suchen.

Also wie ist das feedback?

b.s
Einloggen, um Attachments anzusehen!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: So 09.03.08 21:52 
Schon sehr breit angelegt und trotzdem gibt es noch ein paar Sachen die man ansprechen sollte/könnte (vielleicht hab ich die in deinem Dokument auch nur übersehen)


Allgemein
- irgendwo sollte auf access modifier (public, protected, internal, internal protected, private) eingegangen werden
insbesondere auf die internal Varianten
- und wenn man schon dabei ist sollte man auch auf die anderen modifiers (const,static,readonly,sealed,partial und noch ein paar weiter die mir grad nicht einfallen) eingehen
- Attributes (könntest du zwar in die Reflection Ecke stellen aber man muß zumindest wissen worum es geht, dman fällt fast zwangsweise darüber)
- das casten von Typen (einschließlich der Operatoren 'is','as')
- allgemeines eingehen auf Interfaces(was kann in einem Interface stehen z.B. auch static constructors, explizite vs implizite Implementierung, multiple inheritance von Interfaces)


Variables
- Boxing
Operators
- ternäre Operator ? : (könnte man auch zu Control Structures packen)
- bitwise Operatoren (inklusive Shift Operatoren)
Collections
- Dictionaries
Generics
- Unterscheidung der generischen Collections in Collections.Generic und Collections.ObjectModel (wann setze ich welche ein)
- Verständnis der Interfaces IEnumerable, IEnumerator, IList
- Implementieren einer eigenen Liste (mit Enumerator)
Exceptions
- man sollte auf die auswerte Reihenfolge bei catch Blöcken eingehen
Enums
- Flags
Delegates
- auf Eventhandler<T> eingehen



Daneben gibts auch ein paar Sachen die nicht so recht passen.

Declare Exceptions on a method - Ist wohl eher ein reines Java Feature oder gehts dir darum wie man das in C# nachbilden kann?
Naming Conventions - es gibt keine wirklich ~offiziellen~ Conventions. Du beziehst dich vermutlich auf die Framework Design Guidelines. Es wäre Fair das zu erwähnen.
Use the using keyword to import packages - using importiert nichts sondern ist ein reines Alias, Shortcut Feature um nicht jeden Typ voll qualifizieren zu müssen. Importiert(der Begriff ist unglücklich) wird eh nichts, es wird nur referenziert.
Hashset - Ist ein Framework 3.5 Feature (du wolltest doch nur bis C#2.0 oder?)
Define classes in a package - ? erstelle Klasse in einem anderen Projekt ?
Write static initializers for classes - in c# sind das static constructors

Viel Spaß beim ausarbeiten ;)