Autor Beitrag
miniC#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 75

Wiin XP Home
C# VS Express 2008
BeitragVerfasst: Fr 16.01.09 05:05 
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.

ausblenden 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.

ausblenden 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.

_________________
Zitat MDSN : " ... C# (gesprochen: "si scharp") " :D
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 16.01.09 13:02 
Man könnte noch mit
ausblenden C#-Quelltext
1:
Enumerable.Repeat((byte)2551024).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[meta]Die Seite ist veraltet, schaut einfach ins Repository[/meta] oder Umbrella gäbe. Naja, ein großes Defizit sind die zwei Zeilen wirklich nicht ;) .

_________________
>λ=
miniC# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 75

Wiin XP Home
C# VS Express 2008
BeitragVerfasst: 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 ;)

_________________
Zitat MDSN : " ... C# (gesprochen: "si scharp") " :D