AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Selbstdefinierte Typen in c#

Ein Thema von Dagon · begonnen am 29. Jan 2005 · letzter Beitrag vom 29. Jan 2005
Antwort Antwort
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#1

Selbstdefinierte Typen in c#

  Alt 29. Jan 2005, 17:50
Eine kleine Frage: Diese "Konstruktion", wie sieht die in c# aus?
Delphi-Quellcode:
type
  TMeinArray = array[0..5] of Integer;
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Selbstdefinierte Typen in c#

  Alt 29. Jan 2005, 18:52
hallo,

in c# sieht es so aus:int[] MeinArray = new int[5]; raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Selbstdefinierte Typen in c#

  Alt 29. Jan 2005, 18:57
Sowas brauchst du in c# nicht mehr. Bzw.: Es gibt in .Net keine Arrays mehr, so wie man sie aus der Win32-Zeit kennt.

Eindimensionaler Integer-Array:
Code:
public enum ArrayInit
{
   MitWerte,
   OhneWerte
}

class SomeClass
{
   int[] miep;

   int[] ArrayMitWerten()
   {
      return new int[5] {1, 2, 3, 4, 5};
   }

   int[] ArrayOhneWerte()
   {
      return Array.CreateInstance(typeof(int), 5) as int[];
   }

   public SomeClass(ArrayInit arrayInit)
   {
      if(arrayInit == ArrayInit.MitWerte)
         miep = ArrayMitWerten();
      else if(arrayInit == ArrayInit.OhneWerte)
         miep = ArrayOhneWerte();
   }
}
Wie du siehst sind sie auch ohne Extranamen vollständig zuweisungskompatibel (In delphi32 brauchst du ja diese Hilfsttypen).
Ich weiß noch nichtmal, ob es sowas wie Typennamen für arrays in c# überhaupt gibt (Ich habe es nie vermisst )
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#4

Re: Selbstdefinierte Typen in c#

  Alt 29. Jan 2005, 18:57
Zitat von kiar:
int[] MeinArray = new int[5];
Das enspricht doch folgendem
Delphi-Quellcode:
var
  MeinArray: array[0..5];
und nicht dem, was ich will, oder?
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Selbstdefinierte Typen in c#

  Alt 29. Jan 2005, 23:23
Du solltest dir lieber überlegen WAS du willst.
Arrays machen keinen "Spass", das kann ich dir jetzt schon sagen.
In 50% der Fälle ist eine eigene Implementierung von IList & ICollection viel sinnvoller und praktischer.
In weiteren 49% wären Listen oder Dictionaryies besser geeignet.
Der faule Weg würde über CollectionBase und dem TypedCollection Wizzard aus SharpDevelop führen.
Wenn du per foreach durch eine Collection (,HashList, Dictionary,...) iterierst dürftest du kaum bis keine Geschwindigkeitsunterschide zu einem Array feststellen. (Der Enumerator "weiß" ja genau was noch kommt )
Nur bei direkten Zugriffen auf ein Element ist der Array flinker.*
Arrays machen aber unter .Net (genau wie unter Delphi32) deinen Code sehr schnell sehr hässlich.
Sie machen IMHO nur Sinn als Rückgabewerte von Funktionen (gut zu sehen an vielen Methoden aus Reflection ).


*Wobei eine Ableitung von CollectionBase oder ArrayList einen internen Index führt und somit auch fast genauso schnell einzelne Elemente holt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz