Entwickler-Ecke
C# - Die Sprache - Auflistungstypen initialisieren
miniC# - Fr 16.01.09 05:05
Titel: Auflistungstypen initialisieren
Hallo,
ich habe eine kleine Frage. Leider kenne ich nicht die genauen Fachausdrücke dafür deshalb ein wenig Code. Es gibt in C# die Möglichkeit Auflisttungstypen mit einigen Werten zu initialisieren.
C#-Quelltext
1:
| List<int> meineListe = new List<int>(10){4,9,22,8} |
meine Frage nun - Angenommen ich habe eine sehr große Liste/Array, so wird es doch eine Möglichkeit geben dies mit einem Standardwert zu füllen ? Oder muss ich dies immer selbst mit einer Schleife erledigen ?
edit :
etwas spezifischer : es geht um ein byte array.
C#-Quelltext
1:
| private byte[] _buffer = new byte[ganzdollviele]; |
wenn ich dieses array so verwende , dann besteht es aus lauter Nullen, ich hätte es aber lieber , dass
byte x = new byte() mit
x = 255 initialisiert wird, ohne dass ich da nochmal mit ner schleife nachhelfe. ich hoffe so ist es verständlicher.
JüTho - Fr 16.01.09 11:21
Hallo,
tut mir leid, ich finde keinerlei Konstruktoren, bei denen ein bestimmter Anfangswert angegeben werden kann - weder bei Array noch bei List<T>. Also musst Du das wohl mit einer Schleife lösen, aber das sind ja nur 2 Zeilen.
Gruß Jürgen
Kha - Fr 16.01.09 13:02
Man könnte noch mit
C#-Quelltext
1:
| Enumerable.Repeat((byte)255, 1024).ToList()/ToArray() |
tricksen, da aber die endgültige Länge ja bekannt ist, erzeugt das unnötig viele temporäre Listen.
Von F# kenne ich
Array.create 1024 255uyund bin eigentlich davon ausgegangen, dass es eine ähnliche Funktion auch in Extension-Libs wie
Mono Rocks [
http://www.mono-project.com/Rocks][meta]Die Seite ist veraltet, schaut einfach ins Repository[/meta] oder
Umbrella [
http://www.codeplex.com/umbrella] gäbe. Naja, ein großes Defizit sind die zwei Zeilen wirklich nicht ;) .
miniC# - Fr 16.01.09 20:41
ok, vielen dank für die ausführlichen antworten , dachte schon es wäre mal wieder etwas grundlegendes an mit vorbeigerauscht ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!