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: Unis / FHs an denen C# verwendet wird?
Am im Forum: Smalltalk

Sieh an - in Elektrotechnik - hätt ich nicht gedacht. Danke für die Info.

Lg
Preli

Thema: Vor/Nachteile verwendung mehrerer connections...
Am im Forum: Datentechnologien

Zitat von jogibear9988
Was ist schneller, wenn ich vieles nacheinander über eine, oder vieles parallel über mehrere connections abarbeite???
Connection brauchst du nur eine. Wenn du mehrere Befehle parallel abarbeiten lassen möchtest brauchst du Transaktionen.
Außerdem denke ich das es nicht eine Frage der Geschwindigkeit ist, sondern der Notwendigkeit.
Wenn du viele kurze Statements/Transaktionen hast wäre es (wahrscheinlich) besser sie hintereinander durchzuführen, da das Datenbanksystem dann weniger Arbeit hat.
Oft ist dies aber nicht möglich, denn wenn plötzlich eine Transaktion abgearbeitet werden muss die etwas länger dauert, müssen alle anderen Abarbeitungen warten.
(Bei großen Datenmengen im Unternehmensbereich ist es denkbar, dass Transaktionen durchaus mehrere Stunden oder Tage dauern können)

Es kommt also alles ganz auf die Anforderungen und das Design deiner Anwendung an. Aber mehrere gleichzeitig offene Connections sind auf jeden Fall nicht sinnvoll (unter anderem auch wegen dem bereits erwähnten ConnectionPool)

Lg
Preli

PS: sorry dass ich etwas abgeschweift bin

Thema: Thread soll nur 3 sek. laufen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich hab vor einiger Zeit mal eine Klasse namens TimeoutManager geschrieben:
Klasse Timeout Manager

Macht eigentlich genau das was du beschrieben hast.

Lg
Preli

Thema: Unis / FHs an denen C# verwendet wird?
Am im Forum: Smalltalk

Zitat von markus.bodlos
@Preli:

ist das generell auf der TU in Graz so? oder nur bei Softwareentwicklung und Wirtschaft?

Hallo Markus!

Ja das ist leider generell so auf der TU Graz, egal ob Informatik, Telematik oder Softwareentwicklung. Ich hab nochmal die Lehrveranstaltungen auf der Homepage durchsucht. Keine einzige davon beinhaltet das Stichwort ".net"
Nach C# konnte ich leider nicht suchen, da ich mindestens 3 Zeichen eingeben muss, aber mir ist noch nie etwas mit C# im Titel untergekommen.

Soweit ich gehört habe wird aber in Wien teilweise mit C# gearbeitet.

Lg
Preli

Thema: Unis / FHs an denen C# verwendet wird?
Am im Forum: Smalltalk

Um mal die Lage in Österreich zu schildern:
Ich studiere aktuell an der TU Graz (Softwareentwicklung und Wirtschaft), wo wir sehr viele verschiedene Sprachen einsetzen: C, C++, Java, Assembler, Rubby, ...
aber für .net habe ich noch gar nichts gesehen. leider.

Wobei an meiner früheren Schule (war Abteilung EDV und Organisation) sehr wohl C# unterrichtet wurde. Man konnte sich ab einer gewissen Klasse für C# oder Java entscheiden. (jetzt ratet mal was ich gewählt habe )

Lg
Preli

Thema: Readline() aus String
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von talla
Wieso in die Ferne schweifen, wo es doch extra nen StringReader gibt im Framework.
Ja, stimmt. Das wär natürlich besser als der MemoryStream, da es sich ja nur um einen string handelt.

Lg
Preli

Thema: Readline() aus String
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Mit StreamReadern kannst du von Streams lesen (wie der Name schon sagt). Also nicht nur aus FileStreams, sondern auch aus z.B. einem MemoryStream (schau mal in die MSDN oder such nach diesem Stichwort)

Wobei ich anmerken möchte, dass es bestimmt sinnvollere Lösugen gibt für dein Problem, wie zum Beispiel String.Split

Lg
Preli

Thema: foreach: Ist die Reihenfolge festgelegt?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von ujr
als Beispiel schwebte mir spontan eine zufällig zu durchlaufende Playliste vor, und es gibt sicherlich noch andere nützliche Anwendungen.
Ja, das wäre ein Beispiel warum man in zufälliger Reihenfolge auf eine Liste zugreifen möchte, aber in meinen Augen kein Beispiel für einen Enumerator der eine Liste zufällig durchläuft. Man will ja sicher die Liste auch der Reihe nach anhören. Wie schon gesagt: "gemischter" Zugriff auf eine Liste -> ja; aber nur als Spezialfall und das würd ich nicht in einem Enumerator implementieren

Lg
Preli

Thema: Treiber entwickeln
Am im Forum: Rund um die Programmierung

Und dafür willst du einen Tastatur-Treiber programmieren?
Und was wenn der User ein anderes Programm mit der Maus öffnet?

Lg
Preli

Thema: Treiber entwickeln
Am im Forum: Rund um die Programmierung

Grundsätzlich ist C# und .net nicht dazu gedacht Treiber zu programmieren. Da wäre es besser auf "klassisches" C++ oder C (oder Assembler wenn man ganz freakig ist) umzusteigen.

Lg
Preli

Thema: foreach: Ist die Reihenfolge festgelegt?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von ujr
Wäre nicht ein Enumerator denkbar und sinnvoll, der die Elemente einer Liste in einer zufälligen Reihenfolge durchläuft?
denkbar -> ja
sinnvoll -> WOZU bitte?

Da es komplizierter wäre die Elemente in zufälliger Reihenfolge zu durchlaufen als der Reihe nach denke ich dass kaum jemand seinen Enumerator so programmieren würde. Elemente in zufälliger Reihenfolge wiedergeben ist eigentlich zu speziell für einen Enumerator, der sollte eher allgemein gehalten sein -> also sequenziell

Lg
Preli

Thema: Module aus VB.NET in C#
Am im Forum: Rund um die Programmierung

IL steht für intermediate language (vergleichbar mit dem Bytecode von Java, wenn dir das mehr sagt). Ein .net Programm wird nämlich nicht direkt in Maschinencode übersetzt sondern eben in diesen IL.

Warum verwendest du denn eigentlich nicht statische Funktionen oder Singleton? Dass man nämlich den Klassennamen mitangeben muss ist nicht unbedingt ein Nachteil, sondern in meinen Augen ein Vorteil (übersichtlicher, leichter nachzuvollziehen, Konflikte werden vermieden, durch Intellisense sieht man gleich welche ähnliche Funktionen es noch in dieser Klasse gibt, ...)
Und das ist ja eigentlich der Hauptunterschied wenn ich das jetzt richtig verstehe. Von der Performance her dürfte auch kein Unterschied sein, denn um es wie onlinegurke auszudrücken: im IL kommt es dann ohnehin wieder aufs selbe raus

Lg
Preli

Thema: foreach oder for? was ist schneller?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von chrische5
gehe ich recht in der Annahme, dass dies keinen gewinnbringenden Geschwindigkeitszuwachs ergibt.
Keinen merkbaren jedenfalls.

Etwas zur foreach-Schleife möchte ich noch sagen: Ich bin eigentlich ein foreach-Schleifen Fan, es gibt für mich nur zwei Hauptgründe keine zu benutzen:
  • spezielle Reihenfolge beim Durchlaufen
  • ich muss wissen im wie vielten Durchlauf ich mich befinde


Lg
Preli

Thema: Module aus VB.NET in C#
Am im Forum: Rund um die Programmierung

Zitat von JAck30lena
die methode möchte ich sehen, die nicht über eine klasse aufgerufen wird.
Yup, ich auch.

@onlinegurke: es stimmt schon, dass VB.net und C# ähnlich "mächtig" sind, da ja alles in IL umgewandlet wird. Aber mit "von C# angebotenen Mitteln" meine ich ja genau die Sprachkonstrukte und OOP-designtechnische Möglichkeiten über die hier diskutiert wird.

Lg
Preli

Thema: Lizenssicherung per USB Dongle
Am im Forum: Projekte

Hallo!
Also ich muss sagen, ich finde das Projekt gut.
Es geht ja nicht darum etwas unknackbar zu machen. Wie man immer wieder sieht ist so gut wie alles knackbar, es ist nur eine Frage des Aufwandes.
Und darum geht es denk ich auch in der Softwarelizensierung. Man will es den Nutzern so anstrengend wie möglich machen die Software ohne zu bezahlen zu nutzen und wenn man ein "gutes" System dafür hat (so wie ich dieses Projekt hier als "gut" einschätze) und man von 1000 Usern die versuchen es zu hacken 900 abhällt, dann ist das etwas mit dem man zufrieden sein kann.

Lg
Preli

PS: was nicht heißt dass man nicht immer wieder versuchen sollte es zu verbessern und so viele Lücken wie möglich zu schließen

Thema: Module aus VB.NET in C#
Am im Forum: Rund um die Programmierung

Nun, du arbeitest aber nicht in VB sondern in C#
Viele machen den Fehler zu C# zu wechseln, aber noch immer die Konstrukte einer anderen Sprache nutzen zu wollen. C# bietet sooo viele komfortable Dinge an, man muss sich nur ein bisschen umschauen bzw. ein paar Tutorials oder Artikel lesen und versuchen diese dann für die eigenen Probleme zu nutzen. Man sollte sich nicht fragen: "Wie habe ich das in VB genutzt", sondern viel eher "Wie kann ich mein Problem mit den von C# angebotenen Mitteln lösen"

Warum es in C# keine Module gibt genauso wie in VB ist schnell gesagt: Module so wie sie in VB vorkommen entsprechen nicht so richtig dem Gedanken der Objektorientierung und C# legt viel Wert auf Objektorientierung.

Der Singelton ist eine sehr gute Lösung für Bibliotheken zum Beispiel. Dafür muss nur ein Objekt pro Programminstanz erstellt werden, ich denke das ist verkraftbar. Eine andere Lösung wäre eine Klasse mit lauter statischen Funktionen und Properties, wenn dir das eher zusagt, wobei ich nicht ganz nachvollziehen kann warum du so bedacht darauf bist kein Objekt zu erstellen.

Lg
Preli

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

Es ist nicht ganz wurscht welche man nimmt, denn O(1) ist nicht gleich O(1)
//edit: scheinbar doch

Hab mal einen kleinen Test gemacht:


            List<string> list = new List<string>(100);
            Dictionary<int, string> dict = new Dictionary<int, string>(100);
            for (int i = 0; i < 100; i++)
            {
                list.Add(i.ToString());
                dict[i] = i.ToString();
            }

            Random r = new Random();

            for (int l = 0; l < AMOUNT; l++)
            {
                temp = list[r.Next(0, 99)];
            }

            for (int d = 0; d < AMOUNT; d++)
            {
                temp = dict[r.Next(0, 99)];
            }

//edit: hab mich vertan, ist doch ziemlich gleich schnell - mea culpa.

Dann würd ich fast auch zu dictionary raten (ist "schöner")

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

List<delegate> hat auch O(1) wenn du direkt mit Index drauf zugreifst

Lg
Preli

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

Ich denke wenn es wirklich die Zahlen 1-100 gibt ist ein Dictionary<int, delegate> überflüssig. List<delegate> wäre besser geeignet. Dictionary ist zwar schnell, aber warum soll man den Computer die richtige Position "suchen" lassen wenn man per Index direkt darauf zugreifen kann.
Mit Dictionary ist es zwar sehr schön gelöst, aber ich vermute dass List<delegate> schneller ist.

Lg
Preli

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

Zitat von michaelm
Ja, das wäre endlich eine sinvolle Anwendung für goto.
Hätte da eher an Functionpointer gedacht. goto ist finde ich nicht mal für C empfohlen, dass ist eher was für Assembler.
Zitat von michaelm
Ich werde es in dem Fall einmal mit dem von xxxprod vorgeschlagenen Delegates in Array testen.
Nun das mit den delegates hab ich eigentlich auch vorgeschlagen. Ich denke um zu wissen was Performancemäßig besser ist müsste man fast beides austesten -> if-Lösung von xxxprod und delegates in Arrays.
Ich glaube dass beide Varianten recht flott sein sollten.
Aber einen Unterschied wirst du ohnehin nur merken wenn du die Funktion sehr, sehr oft aufrufst.

Lg
Preli

Thema: Events werden nicht abnnoiert... Aber warum?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich hab den Code zwar nur überflogen aber ich frage mich was die erste Zeile in TouchLedModule() da macht?

SequenzPassEvent = new SequenzPassDelegate(TouchLedModule);
Ich bin mir jetzt zwar nicht sicher, aber dass deine Methoden aus der Main-Klasse nicht aufgerufen werden, könnte sein weil du dein event quasi überschreibst, bevor du es dann verwendest.
Lösch die Zeile mal raus und probiers nochmal.

An dem was xxxprod sagt könnte auch was dran sein, so einen Aufruf hab ich auch noch nie gesehen (was nicht heißen soll dass er automatisch falsch ist -> aber es könnte sein)

Lg
Preli

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

Ach ja, wenn du wirklich 100 Werte (ohne Unterbrechnung) hast bin ich mir doch recht sicher, dass ein switch schneller ist als if else.
Hier gibt es einen interessanten Artikel über das switch-Statement in C# und wie die Performance davon aussieht: http://weblogs.asp.net/justin_rogers/archive/2004/03/25/95806.aspx
Ist zwar in Englisch, aber das Lesen lohnt sich.

Lg
Preli

//edit: wenn es dir nur um Performance geht, ist der Vorschlag von xxxprod sicher seeehr empfehlenswert.

Thema: Switch mit sehr vielen case blöcken?
Am im Forum: Rund um die Programmierung

Wenn du C programmieren würdest, wärs recht einfach

Theoretisch ist es schon möglich:
1.) Erstelle ein Interface (oder abstrakte Klasse) (A) mit einer Funktion (run) und 100 Klassen, die dieses Interface implementieren (von dieser Klasse abgeleitet sind) und alle die Funktion run implementieren.

2.) Dann nimmst du ein Array oder eine List<A> und speicherst in jedes Element ein Objekt einer Klasse. Über den Index könntest du dann direkt an die Stelle (und den richtigen Code springen).

Eventuell lässt sich das ganze auch einfacher machen z.B. mit delegates, mit der oberen Variante würds auf jeden Fall klappen.
Einen merkbaren Performancevorteil würde dir das natürlich nicht verschaffen (wenn du darauf aus bist), da ja auch C# intern prüfen muss um welches Objekt es sich handelt und welcher Code nun ausgeführt werden soll.

Lg
Preli

Thema: [gelöst] Leerzeilen an ein XmlDocument anhängen ??
Am im Forum: Datentechnologien

Hallo, die AppendAllText Idee ist eigentlich gut, hätt ich auch so gemacht. Du musst nur vorher sicherstellen dass die Datei nicht gesperrt ist (hast du ja schon richtig erkannt).
Dass du document auf null setzt bringt da natürlich nichts, du musst auf jeden Fall mal den XmlWriter schließen -> XmlWriter.Close(); also in deinem Fall xWrite.Close();
Dies schließt (laut MSDN) den benutzten FileStream und du solltest den Text anhängen können.

Lg
Preli

Thema: Wahlweise XML oder "Textdatei" einlesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Um unnötige Leerzeichen zu entfernen ist sicherlich String.Trim() hilfreich

Lg
Preli

Thema: long in einen String umwandeln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja, herbivore hat recht ASCII bringt Probleme mit sich, da ich bei zwei unterschiedlichen long Werten auch immer zwei unterschiedliche strings haben möchte.

Jedoch habe ich dieses Problem auch mit jedem anderen Encoding wie z.B. UTF8 - auch wenn ich verschiedene long-Werte umwandel kommen ab und zu die selben strings raus, da nicht druckbare Zeichen scheinbar als gleich angesehen werden (vermute ich mal).

Jetzt lass ich mir die Zahl einfach Hexadeximal anzeigen, dann hat der string max. 16 Zeichen (zwar doppelt so viel wie der long Wert bytes hat, aber das ist verkraftbar)

Lg
Preli

Thema: Wahlweise XML oder "Textdatei" einlesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vergiss das spaltenweise auslesen. Textdateien werden grundsätzlich zeilenweise eingelesen und jede Zeile dann für sich analysiert.
Damit die spaltenweise einlesen könntest müsste wirklich jede Zeile exakt gleich viele Zeichen beinhalten (also auch Leerzeichen am Ende) und du müsstest dauernd in der Datei hin und herspringen, was sich negativ auf die Performance auswirkt.

Lg
Preli

Thema: XML Datei mit Zugangsdaten auslesen und...
Am im Forum: Datentechnologien

Hallo,

Also was du mit dem GetListElements meinst ist mir nicht so klar, da alleine die Namensgebung merkwürdig ist. Get sollte ja eigentlich etwas zurückliefern. Ich denke du machst das etwas zu kompliziert.


List<ClassA> list = new List<ClassA>();
//... Liste füllen
foreach(ClassA temp in list)
{
  Button b = new Button();
  b.Text = temp.Prop1;
  b.Left = ...
  b.Top = ...
  b.Click += new EventHandler(b_Click);
  Controls.Add(b);
}

//eigene Funktion
void b_Click(object sender, EventArgs e)
{
  (sender as Button).xxx //so kann dann auf DEN Button zugegriffen werden, der geklickt wurde
}

Wobei sich fast eine for-Schleife auch eigenen würde, da du dann eine Laufvariable (nennen wir sie mal i) hast und die Top-Eigenschaft danach berechnen kannst. b.Top = i * ("buttonhöhe" + "abstand");

Über Controls.Add wird der Button dann tatsächlich auch auf der Form angezeigt (vorausgesetzt dieser Code befindet sich "in" einer Form)

Vielleicht nicht ganz so einfach für einen Anfänger, ich weiß, schau ab und zu vielleicht ins daraus kann man echt viele Grundlagen lernen.

Lg
Preli

Thema: long in einen String umwandeln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Transrapid
Hmm, wenn du einen Long übergeben willst, warum deklarierst du den Parameter dann nicht als Long?
Ich benutze eine nicht von mir programmierte Bibliothek und die will einen string haben. Ich könnte das Ganze jetzt umprogrammieren, aber das wäre recht anstrengend, da ziemlich viel auf diesen string aufbaut.

Lg
Preli

Thema: long in einen String umwandeln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für die Warnung, aber auf der anderen Seite wartet weder eine C/C++ Applikation noch ein StringBuilder.
Hab gerade bemerkt, dass values.ToString(); mir nur "System.Char[]" liefert, also doch mit Encoding.

Lg
Preli