C # Die Grundlagen

Computer

Wer sich mit Programmierung beschäftigt, dem läuft schnell der Begriff Skript über den Weg. Was ist ein Skript eigentlich?

C#

C# ist eine Programmiersprache. Sie steht auf fast jedem Betriebssystem zur Verfügung. Für C# gibt es eine genortmte Standardbibliothek, die sich auf dem Computer befindet.  C# wurde für alle gängigen Betriebssysteme geschrieben. Die Programmiersprache eignet sich deshalb auch für die Systemprogrammierung. Sie hat eine einfache Struktur und einen geringen Umfang. Sie gehört zu den objektorientierten Programmiersprachen. Für die Programmierung von C # genügt ein einfacher Texteditor. Die Datei für C# endet mit .c

Was ist ein Skript?

Ein Skript ist ein Textdokument, dass eine Reihe von Anweisungen für den Computer enthält. Diese Anweisungen sind der Code und so geschrieben, dass der Rechner sie verstehen kann. Häufig verwendet man die Programmiersprache C# dafür. C# definiert die Art und Weise, wie die Anweisungen geschrieben werden und die Wörter, die verwendet werden. Der Begriff “using” bedeutet beispielsweise, dass dass geschrieben Skript den Code an einer anderen Stelle verwendet. Steht dort “public” heißt dies, dass der auf das Skript öffentlich zugegriffen werden kann. MonoBehaviours sind eine spezielle Art von Skripten. Sie sind die Basisklasse für  Skripte und ermöglichen das Schreiben dieser.

C#-Programme

C#-Programme bestehen mindestens aus einer Quelldatei. Die Programme können in Namespaces organisiert werden.

C# – Typen und Variablen

In der C#-Programmierung gibt es zwei Typen: Werttypen und Verweistypen.

Werttypen: Werttypen enthalten direkt ihre Daten. Jede Variable besitzt eine eigene Kopie der Daten. Werden Vorgänge auf eine Variable angewendet, werden andere Variablen nicht beeinflusst.

Verweistypen: Variablen von Verweistypen speichern Verweise auf Daten. Diese Daten sind in der Regel Objekte. Somit verweisen die Variablen der Verweistypen auf diese. Zwei Variablen können auf das gleiche Objekt verweisen. Vorgänge, die an der Variable durchgeführt werden, beeinflussen das Objekt, dass wiederum auf eine andere Variable verweist.

Der Namensraum (Namespaces)

Der Namensraum ist in der objektorientierten Programmierung der Name für Objekte, die in einer Baumstruktur dargestellt werden. Jedes Objekt hat einen eindeutigen Pfadnamen, der es anspricht. Eine Baumstruktur ist einem Raum zuzuordnen. Der gleiche Objektname kann in einem anderen Raum für ein anderes Objekt stehen.

using

Der Befehl using bedeutet “benutzen”. Das bedeutet, das Programm greift auf den Namensraum zurück.

System Collections

Der Namensraum System Collections bzw. System.Collections enthält Schnittstellen und Klassen verschiedener Objektgruppen und definiert diese. Der Namensraum enthält beispielsweise Listen von Objektgruppen.

System Collections.Generic

Dieser Namensraum enthält weitere Schnittstellen und Klassen, über welche die generische Auflistung definiert ist.

Referenztypen

Ein Typ, der als Objektklasse definiert wurde, ist ein Referenztyp. Klassen werden Schlüsselwörte bzw. Keywords zugewiesen, damit sie sich eindeutig identifizieren lassen.

class

Vor dem Schlüsselwort class steht die Zugriffsebene. Steht dort public kann, ist es jedem möglich, darauf zuzugreifen. Dem Namen der Klasse folgt das Klassenkeyword. Beispielsweise steht dort: public class

PlayerMovement

Dieses Stichwort weist darauf hin, dass der nachfolgende Teil Einfluss auf die Spielerbewegungen für die Spielfigur hat.

Wir haben also die Referenz: public class PlayerMovement:

MonoBehaviour

MonoBehaviour ist ein Basisskript, auf das in der Spieleentwicklung mit C# zurückgegriffen wird. Unity verwendet dieses Skript.

void

void ist ein Schlüsselwort in der C# Programmierung. Benutzt du dieses Wort, bedeutet dies, dass keine Daten übergeben werden oder der Datentyp nicht angegeben ist. Es sagt dem Programm, dass er einen Code ausgeben und nichts zurückgeben soll.

void start

Mit void start signalisierst du dem Programm, dass es beginnt.

void update

void update steht für eine Methode, die für jeden Frame aufgerufen wird. Wenn ein Code für jeden Frame genutzt werden soll, verwendet man “update”

Betrachten wir das Ganze einmal in Unity:

Ein Unity-Skript startet mit:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

Dabei handelt es sich um die using-Direktiven. Sie ermöglichen, einen Code zu verwenden und einzubauen, der an anderen Stellen im Skript steht.

Ein Anweisungsblock ist immer von einer geschweiften Klammer eingeschlossen.

Das Gleitkomma

Das Gleitkomma wird mit “float” gekennzeichnet. Dabei kennzeichnet es Zahlen, die einen Bruch haben. Für den Computer bedeuten ganze Zahlen eine schnellere Verarbeitung. Wenn sich die Arbeit auf ganze Zahlen beschränkt, ist ein Integertyp notwendig. Ansonsten greift man auf das Gleitkomma zurück.

Im Vergleich gibt es einen Fließkommatypen: double

Dieser wird als double number; dargestellt.

Eine weitere Möglichkeit ist der Dezimaltyp.

Angezeigt werden diese im Vergleich so:

double doubleVal = 40.0;

float floatVal = 42.0f;

decimal decimalVal = 42.0m;

Das f hinter der Zahl bei float und das m bei decimal sagen dem Compiler, dass ein Float und ein Dezimalwert zugewiesen werden. Ohne C# würden diese als double interpretiert werden.

Die Zahlentypen finden folgendermaßen Anwendung:

float –>für System.Single

double –> für System.Double

decimal –> für System.Decimal

Dieser unterscheiden sich in der Genauigkeit und der Speicherbelegung.

float kann eine Zahl mit bis zu 7 Ziffern darstellen.

double stellt Zahlen mit bis zu 16 Ziffern dar.

decimal ist mit einer Darstellungsmöglichkeit von bis zu 29 Ziffern am Präzisesten.

float sollte immer ausgewählt werden, wenn Leistung und Schnelligkeit gefragt sind.

Compiler

Ein Compiler ist ein Übersetzungprogramm. Dieses Programm übersetzt den Quellcode ines Quellprogramms, dass in einer höheren Programmiersprache geschrieben wurde. Sie erzeugen maschinenlesbare Codes.

compiling bedeutet kompiliere und beschreibt die Übersetzung eines Programmcodes in einen Maschinencode. Dazwischen gibt es einen Zwischenschritt, die Übersetzung in einer Assemblersprache, welche zur Erzeugung eines Maschinencodes benötigt wird.

Der maschinenlesbare Programmcode ist notwendig, um eine Datei auf dem Computer ausführbar machen zu können. In Windows ist so eine ausführbare Datei beispielsweise eine .exe-Datei.

Der maschinenlesbare Code ist ein Binärcode, welcher aus 1 und 0 besteht. Nicht jede Programmiersprache benötigt einen Compiler. Nicht überall muss der Quellcode kompiliert werden. Java ist beispielsweise objektorientiert und plattformunabhängig. Für diese wird ein spezieller Java-Compiler benötigt.

Zudem gibt es Hybridsprachen, welche Binärcode und Quellcode benötigen. Eine Hybridsprache sind beispielsweise Java oder Python. Kompilierbare Programmiersprachen sind C, C++ und Objective-C. Programmiersprachen haben den Vorteil, dass sie ausführbar und schnell sind. Der Quellcode ist nicht öffentlich.

Verweis Typen und Werttypen

In C# gibt es Verweis Typen und Wettypen. Die Variablen der Verweistypen speichern die Verweise auf den Daten bzw. Objekten. Von den Verweisen können zwei Variablen auf das gleiche Objekt veweisen.

Die Variablen enthalten die Daten der Werttypen direkt. Die Werttypen enthalten jeweils eine eigene Kopie von Daten. Die Vorgänge von einer Variablen wirken sich auf die andere aus.

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.