Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von preli
Thema: Reihenfolge von Intellisense bei überladenen Methoden beeinflussen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,
Hab da ein kleines Problem bei dem ich eure Hilfe brauchen würde.

kurze Erklärung: ich habe ein Klasse welche zwei Konstruktoren besitzt.


public class XYZ
{

  public XYZ(string a, string b, string c) {}

  public XYZ(string d, string e) {}

}

Soweit so gut.
Wenn ich jetzt new XYZ( schreibe, schlägt mir Intellisense immer zuerst den Konstruktor mit nur zwe Argumenten vor. Die Klasse ist Teil einer Bibliothek und die sollte sehr einfach zu benutzen sein und ich hätte gerne, dass standardmäßig der Konstruktor mit 3 Parametern als erstes "empfohlen" wird.
Gibt es eine Möglichkeit dies irgendwie zu beeinflussen?

Liebe Grüße
Preli

Thema: Problem mit System.Data.SqlClient
Am im Forum: Datentechnologien

Schön wäre es, wäre es so einfach. Es könnte an hunderten anderen Dingen auch liegen.

Aber da du (laut deinem Connectionstring) integrated Security benutzt, musst du alle anderen User definitiv auf dem Server Zugriff gewähren. Sollte aber über das Management Studio recht einfach gehen.

Liebe Grüße
Preli

Thema: Problem mit System.Data.SqlClient
Am im Forum: Datentechnologien

Zitat von leonid7
Hängt es damit zusammen dass auf dem anderen Rechner kein Management Studio installiert ist?
Dann würde es auch heißen dass alle clients später management studio brauchen damit meine exe läuft?
Das Management Studio musst du natürlich nicht mit verteilen mit deiner Anwendung. Das wäre ja unsinnig.
Was aber sein kann ist dass auf dem anderen PC kein SQL Server installiert ist ODER wenn der PC auf die Datenbank auf einem anderen PC zugreift, dass der Zugriff dorthin nicht funktioniert (keine Verbindung besteht, Benutzer Berechtigung dafür fehlen, Firewall blockiert, ...)

Liebe Grüße
Preli

Thema: C# Auf werte eines Benuterdefinerten Klassen-Arrays zugreifen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo kampfsau (cooler Name),

Also deine 2 Fragen lassen sich in einem beantworten:
1.) es heißt nicht new Feld()[9,9] weil das den Anschein erwecken würde dass ein Konstruktor von Feld aufgerufen wird (was nicht der Fall ist)

2.) jetzt müsste auch klar sein warum du nicht auf Felder[0,0].Mine zugreifen kannst. Weil in deinem Feld noch gar keine Objekte sind. Du hast zwar ein Feld, aber überall steht null drinnen. Und null.Mine gibts natürlich nicht, deshalb die Fehlermeldung.

Du müsstest zuerst alle Felder einmal erstellen denn mit Felder = new Feld[9,9] reservierst du quasi nur einmal Speicherplatz:


for(int i = 0; i < 9; i++)
{
  for(int j = 0; j < 9; j++)
  {
    Felder[i,j] = new Feld();
  }
}

Kleiner Tipp anbei: in Zukunft musst du außerdem darauf achten keine Anfängerfragen zu stellen (deine obige Frage ist da meiner Meinung nach noch ein Grenzfall), manche im Forum sind da recht streng. Aber du hast Glück dass um diese Uhrzeit scheinbar niemand da ist

Liebe Grüße
Preli

Thema: Ermitteln eines NICHT vorhandenen Wertes mittels SELECT
Am im Forum: Datentechnologien

sooo,

@Xynratron schau doch bitte nochmal genau meinen Nicknamen an (ich bin immerhin kein Kalender )

2. muss ich dir recht geben, an das hab ich nicht gedacht. Meine Lösung bringt natürlich nur den ersten freien ab dem ersten Benutzer zurück X(

Aber so würd's gehen:


Select top 1 (KundenID+1)
from V_Kunde
where KundenID+1 not in (Select KundenID from Kunde)
order by KundenID

V_Kunde ist eine View die wie folgt aussieht:

SELECT KundenID
FROM Kunde
UNION SELECT 0

Liebe Grüße
Preli

Thema: Forum(ssoftware) das (die) programmatisch ansprechbar ist
Am im Forum: Rund um die Programmierung

Zitat von herbivore
Und selbst wenn man es standardmäßig nicht kann, wird man wohl den Web-Hoster bitten können, die DB nach außen freizuschalten.
Bitten wird man schon können - aber ob jeder Web-Hoster das freischaltet bezweifel ich jetzt mal. Einige Webhoster lassen von außen aus "Sicherheitsgründen" keine Verbindungen zu.

Ach ja, ich hab mich mal eine Zeit lang mit ASP.net Foren beschäftigt und das meiner Meinung nach beste Forum ist "yet another forum" http://www.yetanotherforum.net/
Hat auch intern eine Art API mit der man bestimmte Funktionen einfach ausführen kann.

Liebe Grüße
Preli

Thema: performante Alternative zu MS Access
Am im Forum: Datentechnologien

Bevor dieses Thema komplett in eine Threaddiskussion abrutscht möchte ich auch noch was sagen zu embedded Datenbanken:

---- SQLite ----
Vorteile:
+ schnell mit kleinen Datenmengen
+ wirklich einfach (weit verbreitet = viel Doku)
+ schnell bei kleinen Datenmengen und einfachen Abfragen
+ sehr kleine Bibliothek (Dateigröße)
Nachteile:
- nicht geeignet für große Datenmengen
- bestimmte Abfragen sind unverhältnismäßig langsam (z.B. synchronisierte Subselects)
- nur eine Transaktion gleichzeitig

---- Firebird ----
Vorteile:
+ Funktionalität (Triggers, Stored Proz., ...)
+ Wechsel zu Datenbankserver einfach möglich
Nachteile:
- laut meinen Benchmarks in den meisten Fällen eine Spur langsamer als SQLite und SQL Compact

---- SQL Server Compact ----
Vorteile:
+ sehr schnell beim Auslesen
Nachteile:
- Dateigrößenbeschränkungen von 4GB
- Datenbankdatei braucht meist mehr Speicherplatz als SQLite und Firebird mit identen Daten

Liebe Grüße
Preli

Thema: Ermitteln eines NICHT vorhandenen Wertes mittels SELECT
Am im Forum: Datentechnologien

@Florian
Ich habs jetzt mit einer Computed Column (Id+1) versucht. Performance bleibt ungefähr gleich.
Der Ausführungsplan sieht auch eigentlich gleich aus:
+ Hauptsächlich Left Anti Semi Join und Index Scan

Liebe Grüße
Preli

Thema: Ermitteln eines NICHT vorhandenen Wertes mittels SELECT
Am im Forum: Datentechnologien

Hab gerade einen Test gemacht mit 1.000.000 (eine Million) Datensätzen. Mein Statement braucht um Durchschnitt ca. 0,5 Sekunden.
Sollte das zu langsam sein gibts immer noch diese Möglichkeit:


Select top 1 (KundenID+1)
from Kunde
where KundenID+1 not in (Select KundenID from Kunde) 
Zeit: 0,008 Sekunden

Weiß aber nicht sicher ob bei dieser Version sichergestellt ist, dass die Zahlen der Reihe nach kommen.

//edit: KundenID muss logischerweise Primärschlüssel sein oder sonst einen Index haben damits einigermaßen schnell funktioniert.

Liebe Grüße
Preli

Thema: Ermitteln eines NICHT vorhandenen Wertes mittels SELECT
Am im Forum: Datentechnologien

Hallo Humsch,

1.) Hoffe ich dass es einen guten Grund gibt warum du die Nummern auffüllen möchtest.

2.) so würds auch gehen


Select min(KundenID+1)
from Kunde
where KundenID+1 not in (Select KundenID from Kunde)
das Gute an diesem Code ist, wenn es keine freien Nummern mehr gibt, liefert dieser Teil einfach die nächste Nummer zurück.

Liebe Grüße
Philipp

Thema: Objektdatenbank - aber welche?
Am im Forum: Datentechnologien

Danke für eure Antworten.

Caché scheint ein recht großer Player in Sachen Obj. Datenbank zu sein. Leider allerdings kommerziell.

Postgres kenn ich und ich arbeite sogar bei meinem aktuellen Projekt damit. Eine Top Datenbank kann ich nur sagen. Ich persönlich finde sie auch recht einfach zu installieren, warten und benutzen. Das beste sind die vielen Features und dass auch bei großen Datenmengen noch alles super läuft (was bei anderen Open Source DBs wie Firebird und SQLite nicht der Fall ist)

Warum eine Objektdatenbank? Ich finde die Idee die Objekte so wie sie sind in die DB zu speichern einfach genial. Die Argumente aus dem Artikel haben mich da nicht wirklich beirrt.

Liebe Grüße
Philipp

Thema: Objektdatenbank - aber welche?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: das ist hier die Frage

Hallo!
wollte mal fragen, ob jemand schon Erfahrungen mit Objektdatenbanken gemacht hat.

Ich hab selbst grad Eloquera ausprobiert. Scheint aber nicht wirklich 100%ig ausgereift zu sein, sprich buggi und das geht natürlich gar nicht bei einem Datenbanksystem. Sieht außerdem so aus als ob es (noch) keine Transaktionen unterstützen wurde und ein Forum oder ähnliche Communityhilfe dazu hab ich auch nicht gefunden.

db4o hab ich in einem Forum gelesen soll mit großen Datenmengen nicht besonders gut umgehen können. Außerdem wenn man es für was kommerzielles einsetzt kann's etwas teuer werden. Schaut sonst interessant aus.

Kann jemand eine ausgereifte opensource Objektdatenbank für .net empfehlen?

Liebe Grüße
Preli

Thema: Suche Buch/Info für Umsteiger von Desktopapps auf ASP.net
Am im Forum: Buchempfehlungen

sieht wirklich gut aus - danke

Thema: Suche Buch/Info für Umsteiger von Desktopapps auf ASP.net
Am im Forum: Buchempfehlungen

Hallo,

ich suche ein Buch oder Tutorial oder ähnliches, bei dem für C# Programmierer ASP.net erklärt wird. Ich will aber kein Buch in dem die Hälfte C# Grundlagen drinnen sind. Eher etwas das kurz und bündig die Unterschiede zwischen "Desktopapplikationen-programmieren" und "ASP.net Webseiten-programmieren" erklärt.

Kennt jemand vielleicht zufällig so etwas in der Art? (Buch, ebook, Tutorials, etc.)

Liebe Grüße
Preli

Thema: Suche etwas wie XmlDocument nur performanter
Am im Forum: Datentechnologien

Zitat
ohne es getestet zu haben ist diese aussage ohnehin ungültig.
Oje, erschwischt

Ich bin jetzt in der Zwischenzeit komplett darauf umgestiegen mir mein XML Dokument "per Hand" zusammenzustellen. Soll heißen, dass ich die einzelnen Teile direkt in einen Stream reinschreibe. Ist logischerweise sehr performant.

Da ich das Dokument nur erstelle und nicht irgendwie verändere klappt das auch ganz gut. Außerdem sind meine Funktionen ähnlich rekursiv verschachtelt wie ein XML-Dokument weshalb ich eigentlich auch keine Probleme habe die Endtags zu vergessen.

Gruß
Preli

Thema: Suche etwas wie XmlDocument nur performanter
Am im Forum: Datentechnologien

@Florian Reischl: ich will aber gar nichts serialisieren. Ich will nur ein XML Dokument zusammenstöpseln.

@kleines_eichhoernchen: ich muss meine XML Datei nur erstellen - weder lesen noch irgendwie anders analysieren. Soweit ich jetzt das richtig in Erinnerung hab ist XPathDocument ja eine schreibgeschützte Abbildung eines XML Dokuments im Speicher, also eher ungeeignet für mich

Ling to XML ist genau was ich brauche.
Was aber natürlich noch performanter ist, wäre das XML-Dokument per String und StringBuilder zusammenzustöpseln.
Hab mich für eine Michung aus diesen 2 Varianten entschieden.

Gruß
Preli

Thema: Suche etwas wie XmlDocument nur performanter
Am im Forum: Datentechnologien

Linq to XML werd ich gleich mal ausprobieren und die Ergebnisse hier posten

------ edit begin

So, habe jetzt Linq einmal ausprobiert. So wie es aussieht ist Linq to XML wirklich etwas schneller als XmlDocument und um einiges eleganter.
Ein gutes Tutorial dazu hab ich hier gefunden: http://code-inside.de/blog/2008/02/28/howto-linq-to-xml-daten-schreiben/

------ edit ende



Ohne es jetzt getestet zu haben bezweifel ich einmal dass XML-Serialisierung recht schnell ist - außerdem hab ich keine Objektstruktur 8)

Liebe Grüße
Preli

Thema: Suche etwas wie XmlDocument nur performanter
Am im Forum: Datentechnologien

Hallo,

verwendetes Datenbanksystem: "XML"

wie mein Titel schon sagt suche ich nach etwas mit dem man (wenn möglich so einfach) wie mit der XmlDocument Klasse XML-Dateien erstellen kann, aber vielleicht etwas schneller.
Bei meinen jetzigen Versuchen war XmlDocument SEHR langsam und es wird auch offiziell von Microsoft "gewarnt" dass die Klasse XMlDocument etwas resourcenfressend ist.
Kennt jemand vielleicht eine Bibliothek mit der das etwas zackiger geht?

Liebe Grüße
Preli

Thema: Saftbackup - Ein Backup Programm mit Versionierung
Am im Forum: Projekte

Hallo schrotty,

als Datenbank kommt SQLite zum Einsatz. Ich hatte anfangs Bedenken, dass bei großen Datenmengen das problematisch wird, jedoch hab ich auf meinem Heimserver schon seit ein paar Wochen das Backupprogramm laufen und sichere dort ca. 600 GByte. Sicherung wird automatisch jeden Tag durchgeführt.

Als Verschlüsselung nimm ich die bereits beim SQLite Provider eingebaute. Genauere Informationen über die Verschlüsselung stehen auch in meiner Doku

Kommentarfunktion für jede Backupversion ist eine hervorragende Idee - Danke.
Die Erweiterung bestimmte Ordner oder Dateien auszuschließen ist für eine der nächsten Versionen bereits vorgesehen.

Gruß
Preli

Thema: Saftbackup - Ein Backup Programm mit Versionierung
Am im Forum: Projekte

Heute möchte ich mein neuestes Projekt vorstellen: Saftbackup

Es handelt sich um ein Programm zum Sichern von Dateien mit Versionierung.
Jedesmal wenn eine Sicherung durchgeführt wird, werden nicht alle Dateien gesichert, sondern nur jene die sich verändert haben. Zusätzlich bleiben alle Vorgängerversionen erhalten.
Programm ist noch im Beta-Stadium, läuft jedoch schon recht zuverlässig und ich setzte es auch schon ein, um meine Daten zu sichern.

Einige Features sind:

  • Verschlüsselung
  • Komprimierung
  • zeitgesteuerte Backups
  • Analysen und Statistiken
  • ...

Mehr Infos, Dokumentation und ein Demo-Video gibts auf der dazugehörigen Homepage: www.saftware.net

Das Programm kann von jedem benutzt und weitergegeben werden. Den Quellcode möchte ich zurzeit jedoch nicht veröffentlichen, da ich erst den weiteren Entwicklungsverlauf abwarten möchte.

edit: Das Programm ist derzeit auf Englisch und Deutsch verfügbar. Die Sprache kann über "Hilfe"->"Sprache ändern" bzw. "help"->"change language" geändert werden.

Liebe Grüße
Preli

Thema: XML auslesen mit "foreach"
Am im Forum: Datentechnologien

Kein Problem,
ich hoff du hast auch was gelernt dabei und nicht nur den Code kopiert

Liebe Grüße
Preli

Thema: XML auslesen mit "foreach"
Am im Forum: Datentechnologien

Hallo oliver1979,
überleg mal genau was deine Zeile in der foreach Schleife macht und was ein XML-Attribut ist:


listBox_ebene1_spektrum_save1.Items.Add(@Save1.Attributes["Count"].InnerText);

Save1 ist bereits dein Count. Du brauchst nicht mit Attributen machen wenn du keine hast. Ein Attribut würde so aussehen:

<Count eigenschaft1="wert1">leer</Count> 

Deine Zeile müsste eher in etwa so aussehen:


listBox_ebene1_spektrum_save1.Items.Add(Save1.InnerText);

Gruß
Preli

Thema: XML auslesen mit "foreach"
Am im Forum: Datentechnologien

Hallo oliver1979,

In so einem Fall wie deinem benutze ich immer folgende Funktionen:

zum Öffnen/Laden des XML-Dokumentes:


XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(file);

Einzelne Knoten hole ich z.B. über SelectSingleNode


XmlNode root = xmldoc.SelectSingleNode("containers");

Und mehrere Knoten mit SelectNodes


XmlNode dk_pro = xmldoc.SelectSingleNode("DK-pro");
XmlNode root = xmldoc.SelectSingleNode("Save1");
foreach (XmlNode count in root.SelectNodes("Count"))
{
  //Zugriff auf Attribute
  count.Attributes[attribut_name].Value
  //Zugirff auf Inhalt (als String)
  count.InnerText
}

Gruß
Preli

Thema: FormClosed wird nicht ausgeführt
Am im Forum: GUI: Windows-Forms

Rufst du eventuell noch wo anders die Application.Exit() Funktion auf???

Zitat aus der MSDN:

Zitat
The Form..::.Closed and Form..::.Closing events are not raised when the Application..::.Exit method is called to exit your application. If you have validation code in either of these events that must be executed, you should call the Form..::.Close method for each open form individually before calling the Exit method.

Soll heißen wenn du Application.Exit() aufrufst, werden FormClosed und FormClosing nicht ausgeführt! Das könnte ein Grund sein.

Ach übrigens, du brauchst Application.Exit() nicht aufrufen wenn das Hauptformular geschlossen wird, dann beendet das Programm nämlich von alleine. Und wenn das da unten nicht von deinem Hauptformular ist würd ich den Namen formMain in etwas anderes ändern

Gruß
Preli

Thema: kleinster Bootstrapper der Welt (< 2kb) - installiert .net framework
Am im Forum: Projekte

Zitat von kleines_eichhoernchen
Und wo ist das Problem bei 408 KB?
Manchmal möchte man eine kleine Dateigröße für sein setup. Heutzutage kommt es zwar auf die paar kb wirklich nicht an, aber ab und zu kann es trotzdem erforderlich sein. (wie für eines meiner derzeitigen Projekte)
Zitat von kleines_eichhoernchen
Das .NET Framework 3.5 mit allen derzeit erschienen Service Packs ist über 100 MB groß (Architekturneutral), da kommt es nicht wirklich auf wenige KBytes an
Die paar Kbytes müssen aber immer runtergeladen werden, das .net Framework nur wenn es nicht schon installiert ist (was es in Zukunft wohl immer seltener geben wird)
Zitat von kleines_eichhoernchen
Ich als Entwickler und als potenzieller Endkunde finde eine Setup.exe seriöser als eine oder mehrere Script-Dateien.
Diese Scripts sollten ja auch in eine Setup.exe verpackt werden (wie in meinem ersten Post nachzulesen ist). Dann wird der potenzielle Endkunde meist gar nicht bemerken, dass solche Dateien existieren.

Gruß
Preli

Thema: kleinster Bootstrapper der Welt (< 2kb) - installiert .net framework
Am im Forum: Projekte

@Björn: hast du eigentlich in die Dateien reingeschaut?
Für denn Fall das du nicht weißt was drinn steht:

http://www.adresse-zum-framework-eingeben.com/framework.exe
Wie man unschwer erkennen kann keine richtige Adresse zu irgendeinem Framework. Wenn jemand den Bootstrapper benutzen möchte muss er selbst das Framework hosten (oder irgendwo anders einen Link herbekommen).
Ich muss sagen ich finde diese Lösung derzeit auch nicht optimal, aber ich bin offen für Vorschläge, bis jetzt ist es der beste Weg den ich gefunden hab.

@kleines_eichhoernchen: danke für den Link. Aber den dotnetinstaller kenn ich auch bereits. Finde ihn auch recht gut, allerdings wenn ich mich nicht irre ist dieser Bootstrapper recht groß. 408 KB nur um auf das .net Framework zu prüfen find ich recht viel.

Gruß
Preli

Thema: kleinster Bootstrapper der Welt (< 2kb) - installiert .net framework
Am im Forum: Projekte

Hallo allerseits,

wer kennt das Problem nicht, man hat ein .net Programm und will es weitergeben weiß aber nicht ob am Zielcomputer das .net Framework installiert ist.

Deshalb hab ich ein Skript geschrieben (teils Batch-Datei, teils VB-Script), welches

  1. prüft ob das .net Framework bereist installiert ist
  2. wenn nicht eine Meldung anzeigt, dass das Framework runtergeladen und installiert wird (mehrsprachig - derzeit Englisch oder Deutsch je nach der Sprache des Betriebssystems)
  3. erkennt ob das OS 32 oder 64bit ist und lädt das richtige .net Framework aus dem Internet
  4. startet die Installation
  5. (ist das Framework bereits installiert schließt sich das Script sofort wieder)

  6. Und das alles in weniger als 2 kbyte
    Also sehr gut geeignet wenn man möchte dass die Größe des Setup Paketes klein bleibt.


    Wie ist es zu benutzen?
    Es gibt 4 Dateien:
    1. downloaddotnet.vbs ... ist ein VB-Script zum downloaden einer Datei aus dem inet
    2. TestForDotNetBatch.cmd ... batch Datei. Diese muss gestartet werden, um den ganzen Prüf- und Downloadprozess zu starten.
    3. dotnet32.txt und dotnet64.txt ... Konfigurationsdateien von welcher Adresse das Framework runtergeladen werden soll. In jeder Datei steht eine Internetadresse von wo das .net Framework runtergeladen werden soll. Da ich bei Microsoft keinen dauerhaft gültigen direkten Link auf die framework-Exes finden konnte, hab ich die 64bit und 32bit Version des Frameworks runtergeladen und selbst bei mir gehostet. Die entsprechende Adresse gehört in diese Dateien.


    Wenn man z.B. ein Setupprojekt oder selbstentpackendes Archiv hat, einfach einstellen, dass die Datei TestForDotNetBatch.cmd nach der Installation gestartet werden soll.

    Ich hab das ganze auf XP und Vista getestet. Auf 2000/ME/98 funktioniert es ziemlich sicher nicht, könnte man aber evt. auch irgendwie hinkriegen.


    Welche Frameworkversion?

    Zurzeit ist das Skript für .net Framework 2.0 ausgelegt ist. Sprich, wenn Framework 2.0, 3.0 oder 3.5 installiert ist, dann passt alles. Wenn nicht, wird installiert.

    Welches Framework installiert werden soll kann man ganz einfach selbst bestimmen, da man ja in die Dateien dotnet32.txt und dotnet64.txt die Links zu den Exe-Dateien eintragen muss.

    Möchte man als Mindestvorraussetzung für sein Programm das 3.0 oder 3.5er Framework ist das kein Problem.

    Die ersten drei Zeilen der TestForDotNetBatch.cmd Datei sehen wie folgt aus:
    
    if exist "%WINDIR%\Microsoft.NET\Framework\v2.0.50727\" goto ende 
    if exist "%WINDIR%\Microsoft.NET\Framework\v3.0\" goto ende 
    if exist "%WINDIR%\Microsoft.NET\Framework\v3.5\" goto ende
    
    In Zeile 1 wird also auf Framework 2 geprüft, auf Zeile zwei auf 3 usw.
    Durch löschen der ersten Zeile wird somit nur mehr auf Version 3.0 und 3.5 geprüft, durch entfernen der ersten und zweiten Zeile nur mehr auf 3.5


    Würde mich über Rückmeldungen (sei es auch nur Bug-Report) sehr freuen

    Gruß
    Preli


    PS: bitte erzählt mir nicht dass es dafür ClickOnce gibt, das weiß ich. Was mich aber an ClickOnce stört ist, dass ohne ein ordentliches (teures) Zertifikat immer eine Warnmeldung vor der Installation kommt (sieht nicht schön aus). Außerdem ist meiner Erfahrung nach die Erkennung ob das .net Framework bereits installiert ist äußerst buggi.

Thema: Schnelles Vergleichen
Am im Forum: Rund um die Programmierung

Nur der Vollständigkeit halber: List.Sort benutzt Array.Sort, was wiederum Quicksort benutzt, was wiederum zu den schnellsten vergleichenden Sortieralgorithmen gehört.

Auf Suffix Sorting hätt ich eigentlich auch kommen können
Ich hab sowas zwar noch nie eingesetzt (war noch nie notwendig), sollen aber performancemäßig echt der Hammer sein.

Gruß
Preli

Thema: Erkennen WO eine Exception auftrat?
Am im Forum: Rund um die Programmierung

Na sieh einer an.
So einfach geht das

Vielen Dank

Die Funktionen 1,2,3,4 und 5 waren nur exemplarisch. Ich bennen meine Methoden natürlich sinnvoller

Thema: Schnelles Vergleichen
Am im Forum: Rund um die Programmierung

Also bei deinen 1.099.511.627.776 Vergleichen im Worst Case gehst du aber von einem Polynomiellen Sortieralgorithmus aus.
Vielleicht solltest du dich mehr ins Thema Sortieralgorithmus einlesen. Ich denke da ist das größte Potential (performancemäßig) rauszuholen. Wenn du nämlich einen Algorithmus nimmst, der nur n*log(n) als Laufzeit hat, hast du im Worst case plötzlich nur mehr 20.971.520 Vergleiche.

Interessant wäre sicher:
+ Quicksort (sehr schnell, aber im schlechtesten Fall quadratische Laufzeit)
+ Mergesort (im Gegensatz zu Quicksort stabiles Sortierverfahren und auch im worst case n*log(n) Laufzeit)
+ Radixsort (sehr interessant, da LINEARE Laufzeit, aber es gibt dafür andere Einschränkungen, da es kein vergleichender Algorithmus ist)
+ Heapsort (auch n*log(n) Laufzeit)

Du findest bei wikipedia zu jedem dieser Stickworte mehr Informationen.
Ach ja, und bei Quicksort ist der worst case bei nicht schon sortierten Werten soooooo unwahrscheinlich, dass er eigentlich zu vernachlässigen ist.

Gruß
Preli