Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 08:24

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Einfache Typen - Teil 1

Discussion on [C#] Einfache Typen - Teil 1 within the Coding Tutorials forum part of the General Coding category.

Closed Thread
 
Old   #1
 
xXSaiuXx's Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 87
Received Thanks: 10
[C#] Einfache Typen - Teil 1

Vorwort:
Herzlich Willkommen zu meinem 2. C# Tutorial.
In diesem Tutorial werdet ihr
  • vordefinierte Wertetypen zur Darstellung von Zahlen,Zeichen und Wahrheitswerten
  • Literale einfacher Typen,String-Literale und Escape-Sequenzen
  • Bezeichner, lokale Variablen und Konstanten
kennen und einsetzen lernen.


Wertetypen:
Ein Programm benutzt zur Lösung einer Aufgabe verschiedenartige Daten, zum Beispiel Zeichen, Ganzzahlen oder Gleitpunktzahlen. Da diese auf unterschiedliche Weise verarbeitet und gespeichert werden, muss der Typ der Daten bekannt sein. C# unterscheidet zwei Arten von Typen: Wertetypen und Referenztypen. Zu den Wertetypen gehören beispielsweise die einfachen Typen zur Darstellung von Zeichen, Zahlen und Wahrheitswerten. Jede Klasse hingegen ist ein Referenztyp.

Werte- und Referenztypen unterscheiden sich darin, wie im Programm auf die dargestellten Werte Bezug genommen wird. Sie bestimmen
  1. die Art der internen Darstellung der Daten
  2. die Größe des dazu benötigten Speicherplatzes und
  3. die Art der Operationen, die mit den Daten möglich sind.

So kann eine ganze Zahl wie -500 in 2,4 oder auch 8 Byte gespeichert werden. Wenn die Zahl im Speicher wieder gelesen wird, muss auf die richtige Anzahl Bytes zugegriffen werden. Außerdem ist das gelesene Bitmuster richtig zu interpretieren, nämlich als ganze Zahl mit Vorzeichen. Die Art der Operation kann zum Beispiel eine Addition oder eine Multiplikation sein.

C# stellt die nebenstehenden vordefinierten Wertetypen zur Verfügung. Die Typnamen sind Abkürzungen für Strukturtypen, die im Namensbereich System deklariert sind. Beispielsweise entsprechen den Namen short und int die Typen System.Int16 und System.Int32. Dabei sind die Ziffern ein Hinweis für den benötigten Speicherplatz in Anzahl Bits.


Die Typen bool und char:
Das Ergebnis eines Vergleichs oder einer logischen Verknüpfung mit UND bzw. ODER ist ein Wahrheitswert (boolescher Wert), der wahr oder falsch sein kann. Zur Darstellung boolescher Werte ist der Typ bool vorgesehen. Ein Ausdruck vom Typ bool besitzt den Wert true (wahr) oder false (falsch). Ein boolescher Wert beleget ein Byte im Speicher.

Der Typ char dient zur Speicherung von Zeichen. Jedem Zeichen ist eine ganze Zahl, der so genannte Zeichencode, zugeordnet, beispielsweise entspricht dem Zeichen A der Code 65 (dezimal). Die Zuordnung ist in C# durch den Unicode UTF-16 festgelegt, das ist ein 16-Bit-Zeichensatz, der die Codes von ca. 35.000 Zeichen aus 24 Sprachen definiert.

Zur Ausgabe von Zeichen auf dem Bildschirm werden die Zeichencodes übertragen und der >>Empfänger<<, also der Bildschirm, ist für die richtige Interpretation der Zeichencodes verantwortlich.


Darstellung ganzzahliger Typen:
Für das Arbeiten mit ganzen Zahlen stehen unterschiedliche Typen zur Verfügung, die sich durch Größe des benötigten Speicherplatzes und ihre Wertebereiche unterscheiden. Es können Ganzzahlen mit und ohne Verzeichen gebildet werden. Die Darstellung positiver Ganzzahlen basiert immer auf einer Potenzdarstellung zur Basis 2. Negative Zahlen werden mit Hilfe des Zweierkomplements gebildet, das heißt, das Bitmuster der entsprechenden positiven Ganzzahl wird invertiert und dann 1 hinzuaddiert.

Die Typen sbyte (>>signed byte<<), short, int und long werden standardmäßig mit Vorzeichen interpretiert, wobei intern das höchstwertige Bit das Vorzeichen bestimmt. Es können also positive und negative Zahlen dargestellt werden.

Die Typen byte,ushort, uint und ulong (u wie unsigned) hingegen werden ohne Vorzeichen interpretiert, das heißt, es werden nur positive ganze Zahlen dargestellt. Da das höchstwertige Bit nicht mehr als Vorzeichenbit fungiert, verdoppelt sich deshalb bei gleichem Speicherbedarf der Bereich der darstellbaren positiven Werte. Die Typen sbyte und byte beispielsweise belegen beide ein Byte Speicherplatz. Der Typ sbyte hat einen Wertebereich von -128 bis +127, wohingegen der Typ byte Werte von 0 bis 255 ermöglicht.

Der Typ char wird zur Darstellung von Unicode-Zeichen verwendet. Er gehört zu den ganzzahligen Typen. Allerdings ist es nicht möglich, mit Werten vom Typ char zu rechnen. In der nebenstehenden Tabelle sind die ganzzahligen Datentypen mit ihrem Speicherbedarf und dem entsprechenden Wertebereich zusammengestellt.

Hier einmal die Ganzzahligen Typen im Überblick.

TypSpeicherplatzWertebereich(dezimal)
sbyte1 Byte-128 bis +127
byte1 Byte0 bis 255
char2 Byte0 bis 65535
short2 Byte-32768 bis +32767
ushort2 Byte0 bis 65535
int4 Byte-2147483648 bis +2147483648
uint4 Byte0 bis 4294967295
long8 Byte-9223372036854775808 bis +9223372036854775808
ulong8 Byte0 bis 18446744073709551615

So das war es vorerst.
Teil 2 folgt mit Beispielprogrammen & Quelltexten, sowie dem Rest...

Liebe Grüße,

xXSaiuXx
xXSaiuXx is offline  
Thanks
2 Users
Old 09/29/2011, 22:20   #2
 
Che's Avatar
 
elite*gold: 120
Join Date: Aug 2010
Posts: 7,448
Received Thanks: 2,756
nett nett, aber warum machste ned ein tutorial in dem du alles reineditierst?
wenn du bedenken von wegen maximale zeichenlänge hast, kann ich dich beruhigen, das so hochgesetzt, dass du es wahrscheinlich nie erreichen wirst...
jo ansonsten is gut... auch wenn c# eine weitere müll-sprache von kleinweich ist... wenn man wirklich was lernen will, soll man doch bitte c++ lernen o.O
Che is offline  
Old 09/30/2011, 14:55   #3
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by 〤Che〤 View Post
wenn man wirklich was lernen will, soll man doch bitte c++ lernen
Warum?
Kraizy​ is offline  
Old 09/30/2011, 15:06   #4


 
Cholik's Avatar
 
elite*gold: 4
Join Date: Aug 2008
Posts: 6,783
Received Thanks: 4,992
Quote:
Originally Posted by xXSaiuXx View Post
Herzlich Willkommen zu meinem 2. C# Tutorial. [...]
Das ist alles 1:1 aus dem Buch
Cholik is offline  
Thanks
1 User
Old 09/30/2011, 17:41   #5
 
Che's Avatar
 
elite*gold: 120
Join Date: Aug 2010
Posts: 7,448
Received Thanks: 2,756
Quote:
Originally Posted by Walter Sobchak View Post
Das ist alles 1:1 aus dem Buch
Walter, du bist Global, warum closet du dann nicht gleich?
Zum einen könnte man die Threads mergen und zum anderen (da es ja offensichtlich ohne Credits geleecht ist) gleich closen...
Naja, dann send ich mal nen Closerequest ab...


Achja zur Frage, warum C++ "wertvoller" ist als C#:
C# ist eine Microsoft-Sprache und somit im Funktionsumfang deutlich eingeschränkt, außerdem wird man in keiner IT-Firma mit VB.net oder C# arbeiten... Nebenbei kann man Programme, die mit C# oder VB.net geschrieben sind einfach decompilen o.O

C++ ist eine vollwertige Sprache, die von keinem Software-Riesen "kontrolliert" wird. Außerdem ist der Funktionsumfang von C++ unendlich groß, da man die Header-Files selbst schreiben kann und da man direkten Zugriff auf die Windows API haben kann... Außerdem ist C++ im gegensatz zu C# universell (C++ bzw C-Code läuft auch auf Linux (Linux hat hierfür nen eingebauten Compiler (GCC), man muss halt unter Linux neu compilen), c# nicht ohne wine). Nebenbei kann man Programme, die mit C++ geschrieben sind in der Regel nicht decompilen und somit nicht als 3. an den Source rankommen...

Frage geklärt?
Che is offline  
Thanks
1 User
Old 09/30/2011, 19:25   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
Quote:
Originally Posted by 〤Che〤 View Post
Walter, du bist Global, warum closet du dann nicht gleich?
Zum einen könnte man die Threads mergen und zum anderen (da es ja offensichtlich ohne Credits geleecht ist) gleich closen...
Naja, dann send ich mal nen Closerequest ab...


Achja zur Frage, warum C++ "wertvoller" ist als C#:
C# ist eine Microsoft-Sprache und somit im Funktionsumfang deutlich eingeschränkt, außerdem wird man in keiner IT-Firma mit VB.net oder C# arbeiten... Nebenbei kann man Programme, die mit C# oder VB.net geschrieben sind einfach decompilen o.O

C++ ist eine vollwertige Sprache, die von keinem Software-Riesen "kontrolliert" wird. Außerdem ist der Funktionsumfang von C++ unendlich groß, da man die Header-Files selbst schreiben kann und da man direkten Zugriff auf die Windows API haben kann... Außerdem ist C++ im gegensatz zu C# universell (C++ bzw C-Code läuft auch auf Linux (Linux hat hierfür nen eingebauten Compiler (GCC), man muss halt unter Linux neu compilen), c# nicht ohne wine). Nebenbei kann man Programme, die mit C++ geschrieben sind in der Regel nicht decompilen und somit nicht als 3. an den Source rankommen...

Frage geklärt?
Ich könnte kotzen, wenn ich das lese.
Halt doch die Klappe, wenn du keine Ahnung hast.
Dein Post tut vor lauter Unwissenheit wirklich weh.

#closed
MrSm!th is offline  
Thanks
6 Users
Closed Thread


Similar Threads Similar Threads
[Suche Typen der mir hilft^^
06/12/2011 - elite*gold Trading - 13 Replies
Moin. Ich brauche einen User der Itrader/Premium besitzt. Ich schicke dir 1100 e*gold du kaufst den Treasure von nem Typen und gibst mir die Psc. MFg bitte schnell melden.
Gehen die Hacks vom S4 Patch 24 teil 1 auf teil 2?
12/05/2010 - S4 League - 9 Replies
Die Frage steht Obenn....bitteee beantworten xD:D
2 verschiedene ram riegel typen etc..
06/13/2010 - Technical Support - 2 Replies
Hallo liebe com Mein pc hat als Standart 2 x hynix PC-4200 mit je 533Mhz DDR2 so meine frage kann ich noch 2xingston Pc-4200 mit je 533Mhz auch DDR2 einbauen damit ich dann 2gb ram habe oder wird es probleme geben weil es 2 vershciedene typen sind
tunamt2 download typen
05/10/2010 - Metin2 Private Server - 8 Replies
also ich habe einen acc da und wolt mir das runterladen was ich aber mit win rar machen muss was aber nervt fragemit was habt ihr das runtergeladen auser winrar könte mir jemand einen tip geben womit ich das auch runterladen kann mfg jack



All times are GMT +1. The time now is 08:28.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.