Beiträge durchsuchen

C# Access Modifiers

Definition Alle Types und Type Member haben einen Zugriffs-Level, der steuert, ob sie aus dem Code der eigenen Assembly oder auch von anderen Assemblies zugreifbar sind. Bei der Deklaration eines Typs oder eines Members wird der Zugriffs-Level fetsgelegt. Folgende Level stehen zur Verfügung: public Uneingeschränkter Zugriff private Zugriff nur vom enthaltenden Typ aus protected Zugriff nur von der eigenen Klasse oder Typen, die von dieser Klasse abgeleitet sind internal Zugriff nur aus der gleichen Assembly […]

C# Fields

Definition Instance Fieldes Static Fields Acces Modifier Definition Felder sind Variablen eines beliebigen Typs, die innerhalb einer class oder struct definiert werden. Dabei sind instance fields und static fields voneinander zu unterscheiden. Instance Fieldes Instance fields können in einem Object geändert werden, ohne das sich dies auf das gleiche Feld in anderen Objekten auswirkt. Static Fields Im Gegensatz dazu gehören static fields zur Klasse, in der sie definiert werden. Wird ein solches Feld in der […]

C# Extension Methods

Erweiterte Methoden lassen sich aufrufen, ohne dass von der sie enthaltenden Klasse ein Objekt instanziiert wurde. Beispiel Sehr verbeitet ist die Nutzung der LINQ Standard Query Operators. Um diese nutzen zu können, muss zunächst der entsprechnde Namespace verwendet werden: using System.Linq Danach kann jeder Typ der EInumerable<t> implementiert Methoden wie GroupBy, OrderBy etc. verwenden. Von diesem Typ sind z.B. List<t> oder Array Erweiterte Methoden werden als Static Method definiert, aber wie instaziierte Methoden aufgerufen. Hinweis […]

C# Delegates

Bei Delegaten handelt es sich um Funktionszeiger. Dass bedeutet, dass man in einem Delegaten Die Referenz auf eine (oder auch mehrere) Funktionen speichern kann. Man kann damit also einen Methoden-Aufruf in einer Variablen speichern. Definition eines Delegaten: public delegate int Calculate(int num1, int num2); Bei der Definition des Delegaten wir der Rückgabe und die Methoden-Signatur angegeben. Die Methoden-Signatur muss genau der Methode entsprechen, deren Referenz in dem Delegaten gespeichert werden soll. Eine gültige Methode sieht […]

C# Abstract Classes

Definition Abgrenzung Abstrakte Methoden Definition Eine Abstrakte Klasse ist eine Klasse, von der nur geerbt werden kann. Das bedeutet, dass man von Abstrakten Klassen keine Objekte instantiieren kann. Deshalb werden sie auch oft Basisklasse genannt. Ausserdem gehen sie noch einen Schritt weiter als die Interfaces. Auch sie geben in gewisser Weise die Form vor, die die erbende Klasse annimmt. Abgrenzung Im Gegensatz zum Interface, kann (muss aber nicht) in der Abstrakten Klasse aber z.B. eine […]

C# Interfaces

Interfaces kann man als Vertrag verstehen, den eine Klasse, die von diesem Interface erbt, erfüllen muss. D.h., dass das Interface die Struktur einer Klasse vorgibt. Folgende Elemente können in einem Interface vorgeschrieben werden: Methoden Eigenschaften Ereignisse (Events) Indexer Bsp. für die Definition eines Interfaces: interface ITier { // Properties string Gender {get; set;} int Age {get; set;} // Methods void eat(); void drink(); } Innerhalb eines Interfaces werden keine Zugriffs-Modifizierer gesetzt. Das erfolgt erst bei […]

C# Arrays

Definition Deklaration Initialisierung Wertzuweisung Definition Ein Array speichert eine Sammlung von Elementen mit einer festgelegten Anzahl Ein Array kann Elemente jeden beliebigen Typs speichern Alle Elemente eines Arrays müssen vom gleichen Typ sein Deklaration datatype [] array-name; Beispiel: int[] prices; Initialisierung datatype[] arrayName = new datatype[number_of_elements]; Beispiel: int[] prices = new int[5] Wertzuweisung arraName[Index] = value; Beispiel: prices[0] = 12; prices[1] = 15;

Grundkonzepte von C#

Einleitung Namenskonventionen Schlüsselwörter Verpflichtende Regeln Optionale Regeln Zugriffsmodifizierer public protected internal protected internal private protected private Einleitung C# ist eine rein objektorientierte Sprache. D.h., dass alle Datentypen auf Klassen basieren und all Anweisungen in Klassen erfolgen. Es werden alle zentralen Konzepte der objektorientierten Programmierung unterstützt: Schnittstellen Vererbung Polymorphismus Namenskonventionen C# unterscheidet auch zwischen Groß- und Kleinschreibung. Das bedeutet, dass a und A zwei unterschiedliche Variablennamen sind. Schlüsselwörter Um bei der Benennung von Bezeichnern nicht in […]

C# Properties

Um Variablen innerhalb einer Klasse gesteuert verändern zu können, verwendet man Properties. Diese ermöglichen es dem Programmierer festzulegen, welche Variablen nur lesbar oder auch beschreibbar sind. Das lässt sich natürlich auch erreichen, wenn man die entsprechende Variable public macht, aber dann hat man keine Kontrolle mehr darüber. Stattdessen setzt man die Variablen einer Klasse auf private und erstellt eine entsprechende Property dafür. Je nachdem ob die Property auch einen Setter hat oder nicht, kann die […]

Nächste Seite »