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 T-Virus
Thema: Wie aktuell ist C#?
Am Heute, im Forum: Smalltalk

Wie kommst du auf den Unsinn?
Gerade mit .NET Core/5/6 und neuere Versionen hat sich .NET ordentlich weiterentwickelt bzw. entwickelt sich immer weiter.
Damit natürlich auch alle Sprachen von .NET allen voran C#, was immer neuere Sprachfeatues bekommt.
Wenn du damit arbeiten willst, dann lohnt es sich auch die Sprache zu lernen.

T-Virus

Thema: Tibber CURL-Request
Am Heute, im Forum: Grundlagen von C#

@Sweeney
Hat nichts mit Offtopic zu tun.
Gehört sogar zu den Grundlagen des Themas und ist auch ein wichtiger Hinweis, den ich als Außenstehender nicht wissen kann.
Diese Info gehört auch direkt in den Start Post, damit man die Ausgangslage kennt und dann auch richtig antworten kann.

Warum man auf Curl setzen muss erklärt sich mir immer noch nicht, da es ja nur ein Http Post macht, den du auch selbst direkt absetzen kannst.
Wenn der Hersteller hier keine Einschränkung auf den User Agent o.ä. macht um nur Curl Anfragen zuzulassen, wäre das eine sinnvollere Option als einen extra Prozess zustarten.
Sowas kann man aber auch recht einfach selbst austesten.

Ebenfalls wäre dann aber immer noch das Json Thema im Raum.
Auch hier würde ich meine Empfehlung beibehalten und es per Serialisierung sauber lösen.
Json Strings selbst zusammen zu setzen ist hier komplett unnötig un kostet dich nur zusätzlich Zeit.
Dafür gbt es System.Text.Json oder Alternativ auch NewtonSoft.Json seit Jahren saubere Lösungen.

Nachtrag:
Hab anhand deines Aufruf mal die Api Doku geprüft.
Hierbei wird GraphQL verwendet aber als query String im Request mitgegeben.
Im einfachsten Fall kannst du dir eine simple Request Klasse mit Query als String anlegen und per Json serialisieren lassen.
Nur die eigentliche Query muss dann sauber umgesetz sein.

Doku:
Tibber Developer

T-Virus

Thema: Tibber CURL-Request
Am Heute, im Forum: Grundlagen von C#

@Sweeny
Wäre toll wenn du auch auf meinen Post eingegangen wärst.
Vermutlich könntest du das mit dem HttpClient und PostAsync direkt lösen.

Ansonsten würde ich, wenn möglich, auch empfehlen von Mono direkt auf die aktuelle .NET Version zu wechseln.
Die gibt es auch für Linux

T-Virus

Thema: XAMARIN MySQL Datenbankverbindung wirft Exception
Am Gestern, im Forum: Netzwerktechnologien

Oder du könntest dem Rat von Abt folgen und das ganze einfach über einen Services anbieten.
Im einfachsten Fall mit einer Http Api wie WebAPI auf REST und Json Basis.
Mit Https hast du dann auch direkt eine sichere Datenübertragung, was man mit Lets Encrypt heute ohne großen Aufwand aufsetzen kann.
Dann ist deine DB sauber auf dem Server ohne äußerliche Zugriffe und dein Service kann sauber durch Authentifizierung den Zugriff kontrolllieren.

T-Virus

Thema: Tibber CURL-Request
Am Gestern, im Forum: Grundlagen von C#

Warum arbeitest du nicht direkt mit dem HttpClient?
Im Endeffekt machst du nur ein HTTP Post mit Json per CURL, was du auch selbst machen kannst.
Spart den Overhead ein extra Pogramm aufzurufen müssen.
Den Request kannst du, wie schon beim Response, über ein eigenes Objekt zum passenden Json serialisieren lassen.
Dadurch löst du auch direkt deinen falschen Syntax, wie Th69 bemerkt hat.
Ebenfalls sieht auch der Rest des Json falsch aus, da du hier keinen korrekten Aufbau hast.
Kannst du alles mit einer passenden Klasse lösen.

T-Virus

Thema: ReSharper R# ???
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Klingt eher komisch, da eine Demo Version davon kaum Resharper installieren dürfte.
Hast du das ggf. durch andere (Dev)Tools ggf. mitinstalliert?

Ansonsten ist Resharper ganz gut und der Hersteller JetBrains hat mit Rider auch eine eigene IDE für C# und andere Programmiersprachen.
Ist an sich also gutes Zeug.

T-Virus

Thema: HILFE Skript zum Abfragen einer aspx Webseite auf externen Server
Am im Forum: Web-Technologien

Im ersten Schritt sollte man erstmal nach einer Api dafür fragen.
Wenn es dafür keine gibt, was mich nicht überraschen würde, kannst du ohne Rückfragen nicht ohne weiteres die Suchfunktion zum automatisierten Abfragen missbrauchen.
Damit kannst du dir viel Ärger einheimsen, was man gerade bei Behörden tunlichst vermeiden sollte.

Ansonsten bleibt noch die Option mit der Behörde in Kontakt zutretten.
Ggf. können die Informationen oder Ansätze liefern um solche Abfragen auch sauber umzusetzen.
Vielleicht kann dann eine Rücksprache mit den Entwicklern der Seite noch zu einer Api Umsetzung führen.

T-Virus

Thema: MongoDB mit C# auslesen
Am im Forum: Datentechnologien

hast du dich überhaupt mal mit MongoDB beschöftigt oder machst du nur Trial and Error?
MongoDB ist eine Dokumenten Datenbank (NoSQL).
Du arbeitest hier nur mit Json, musst also die Daten per De-/Serialisierung zwischen deinem Code und JS konvertieren.
Die Doku samt Quick Tour hast du, damit kannst du im Grunde alles machen.

Ansonsten solltest du von DataTable die Finger lassen.
Du kannst hier mit Data Binding arbeiten und direkt die richtige DataSource mitgeben.
Ist alles dokumentiert, musst du nur lesen und umsetzen.

MongoDB
https://www.mongodb.com/docs/manual/core/document/

Nachtrag:
Nutzt bitte, wie schon zwei mal per Kommentar Edit empfohlen, auch die Code Tags.
Dein Code lässt sich sonst sehr schlecht lesen, was kaum zu mehr Hilfe motiviert wenn man lieblos den Code ohne Formatierung postet.

T-Virus

Thema: MongoDB mit C# auslesen
Am im Forum: Datentechnologien

Oder ganz einfach in die Doku schauen oder auf der Seite von MongoDB.Driver einen Schnelleinstieg anschauen, wo dies schon gezeigt wird.

Link:
Quick Tour

T-Virus

Thema: MongoDB mit C# auslesen
Am im Forum: Datentechnologien

Die Fehlermeldung sagt doch schon alles.
Du kannst mit deinen Daten keine Verbindung zum Server herstellen, hier knallt es sogar direkt bei Socket.
Wenn hier ggf. eine Firewall zwischen dir und dem Server liegt, scheint diese die Verbindung zu blocken.
Kann auch lokale Firewall des Servers oder Clients sein.

Nachtrag:
gfoidl war schneller

T-Virus

Thema: MongoDB mit C# auslesen
Am im Forum: Datentechnologien

Du bekommst mit ListDatabaseNames nicht die Tabellen sondern die Datenbanken.
Laut Doku sollte es hier auch keine Exception geben, was auf einen Fehler wie z.B. Verbindungs- oder Rechteprobleme hinweist.

Doku:
MongoClient.ListDatabaseNames Method (CancellationToken)

T-Virus

Thema: Xamarin Forms Bluetooth Plugin
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Nur mal kurz googeln liefert Anleitungen für Bluetooth LE Plugin für Xamarin sowohl für android als auch iOS.
Das Projekt scheint auch recht aktiv zu sein.

Projekt:
https://github.com/dotnet-bluetooth-le/dotnet-bluetooth-le

T-Virus

Thema: Zugriff auf Variablen-Typen und Namen anderer Klasse (NICHT den Inhalt)?
Am im Forum: Grundlagen von C#

Das was du dort machst nennt sich übrigens Reflection.
Dies ist dann Teil der Metaprogrammierung von C#/.NET
Sollte man aber nur verwenden, wenn es wirklich nötig ist.

Anbei solltest du dir bei Klassen zur Datenhaltung auch Properties anschauen.
Damit hat man dann die eigentliche Schnittstelle zu den Feldern.

T-Virus

Thema: Under the Hood of .NET Memory Management / FreeBook
Am im Forum: Buchempfehlungen

Ist dies noch korrekt?
Soweit ich dies sehe ist das Stand 2011/2012
Seit dem hat sich eigentlich einiges getan oder?

Nachtrag:
Links funktionieren nicht, Text mus man aktuell per C&P selbst kopieren!

T-Virs

Thema: Opus to MP3 C# Bibliothek
Am im Forum: Rund um die Programmierung

@Th69
Kommt dadurch, dass auf der Projekte Seite bei Github noch die alte Klasse verwendet wird, siehe Link oben.
Erst im Sample, was ich im letzten Kommentar verlink habe, werden dann die richtigen Klassen verwendet.

T-Virus

Thema: Opus to MP3 C# Bibliothek
Am im Forum: Rund um die Programmierung

Soweit ich dies sehen kann, scheint es auch welche zu geben.
Diese sind dann aber nicht zwangsweise kostenlos.
Du kannst gerne mal google mit "C# ffmpeg" durchsuchen.
Gibt dann genug Links zum lesen

Nachtrag:
Dann schau dir das Beispiel an, dort ist dann klar was dort verwendet werden muss.

Link:
FFmpeg.NET/Program.cs at master · cmxl/FFmpeg.NET

T-Virus

Thema: Opus to MP3 C# Bibliothek
Am im Forum: Rund um die Programmierung

Oder du schaust einfach ob es für die Lib von ffmpeg einen passenden .NET Wrapper gibt und bindest diesen ein.
Dann kannst du direkt gegen die native Lib arbeiten und dein Programm direkt als Container verpacken.

Google hat mir kurz diese rausgeworfen:
https://github.com/cmxl/FFmpeg.NET

T-Virus

Thema: Antiviren Suite für Developer?
Am im Forum: Smalltalk

Super Idee, gerade da das BSI im März vor Kaspersky gewarnt hat.

Link:
BSI - FAQ - Kaspersky

T-Virus

Thema: Warum enum-Elemente auf int casten?
Am im Forum: Grundlagen von C#

Steht doch in der doku:
Enumerationstypen: C#-Referenz

Und im grunde liegt es auch auf der Hand bei einer stark typisierten Sprache wie C# wird ein Enum Wert auch als ein Enum Wert betrachtet.
Aber warum nimmst du nicht direkt die Enum Werte im dictionary als Key?
Dann kann kannst du das (Un-)Boxing aussparen.

T-Virus

Thema: NET 7.0 SDK verfügbar für Linux
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@Abt
Kam falsch rüber, ich meinte mit der Aufnahme direkt die neuste Version in bereits veröffentlichte Versionen wie bei Debian
Dort wäre sowas eher die Ausnahme als gängige Praxis.

T-Virus

Thema: NET 7.0 SDK verfügbar für Linux
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

I.d.R. werden die meisten Distros es nicht mal aufnehmen, hängt aber von der jeweiligen Distribution ab.
Wenn man z.B. mit Debian arbeitet, dann bleibt die Version fix und nur die Patches für die jeweilige Version werden dafür bereitgestellt.
Wenn es aber eine Rolling Release Variante wur Gentoo ist, dann sollten diese nach und nach geliefert werden.
Muss man aber ggf. bei der jeweiligen Distribution nachfragen, kann man dir hier nicht für deine Variante beantworten.

T-Virus

Thema: Fragen zum Sortieren
Am im Forum: GUI: Windows-Forms

@BerndFfm
Kleine Anmerkung zu der SortDevices Methode.
Das ref kann hier beim Parameter entfallen, da die Referenz auf die Liste nicht geändert wird also nicht überschrieben oder genullt wird.
Auch wenn die die Werte innerhalb der Liste änderst, brauchst du kein ref solange du die Instanz nicht überschreibst.

T-Virus

Thema: WPF Button wird durch Leertaste immer wieder ausgelöst
Am im Forum: GUI: WPF und XAML

@Th69
Wäre besser um ggf. weitere Keys abzufangen oder um zu steuern welche Keys auslösen dürfen und welche nicht.

T-Virus

Thema: WPF Button wird durch Leertaste immer wieder ausgelöst
Am im Forum: GUI: WPF und XAML

Hat weniger mit WPF zu tun als viel mehr mit dem Windows Verhalten.
Das kannst du auch einfach mit dem Taschenrechner nachstellen.
Einfach eine Nummer drücken und dann wird durch Leertaste auch der letzte Button erneut ausgelöst.

Ansonsten finde ich bei Google mit "WPF remove button focus" ein paar Treffer.
Z.B. folgendes klinkt erstmal brauchbar.

https://zditect.com/blog/55249565.html

Vermutlich reicht es einfach Focusable auf false zu setzen, damit der Button nicht fokusiert wird.
Musst du mal prüfen.

Doku dazu:
UIElement.Focusable Eigenschaft (System.Windows)

Nachtrag:
Abfragen ob das Control gerade fokusiert ist, kannst du mit IsKeyboardFocused.

Doku dazu:
UIElement.IsKeyboardFocused Eigenschaft (System.Windows)

T-Virus

Thema: c# Consolenprogramm nutzt nur 1 CPU-Core
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@Arti
Th69 hat dir schon den Grund genannt.
Du wirfst durch dein zusammen setzen der String Instanzen quasi mit monströsen String Instanzen um sich.
Damit setzt du sowohl CPU als auch RAM unter druck ebenfalls hat der GC dann ordentlich zu tun den Datenmüll wieder wegzuräumen.

Man merkt, dass dir die Grundlagen und das Verständis fehlt.
Daran solltest du arbeiten, ansonsten verweise ich nochmal auf die Antworen von Abt.
Nicht schätzen sondern messen!

T-Virus

Thema: c# Consolenprogramm nutzt nur 1 CPU-Core
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hast du dein Programm im Release Mode gebuildet oder einfach klassisch alles aus dem Debug Ordner genommen?
Der Compiler würde im Release vermutlich die leere Schleife schon wegoptimieren.
Kann man aber auch z.B. mit ILSpy und konsorten prüfen.

Der gesamte Code, den du aktuell laufen lässt, wäre aber nicht verkehrt.
Ggf. hast du noch andere Stellen die langsam sind iwe z.B. IO Aufgaben mit lesen/schreiben in Dateien.

T-Virus

Thema: c# Consolenprogramm nutzt nur 1 CPU-Core
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hast du mal die Taktraten der CPUs verglichen?
Dein i9 wird mehr Dampf haben als ein Xenon CPU weil das eine ein Dekstop mitmeistens hohen Takraten ist und letzteres eine Server CPU bei der weniger Task dafür aber mehr Kerne vorgesehen sind.
Bei Server CPU geht es mehr darum möglichst viele Anfragen gleichzeitig verarbeiten zu können.

Ansonsten wäre noch interessant was du eigentlich genau erreichen willst.
Eine Laufzeit von rund 1 Min. dürfte noch um einige Größen optimiert werden können.
Dazu müsste aber auch klar sein, was dein Ziel ist.

Wie sieht deine md5list den genau aus?
Wenn du nur einen String mit dem Hash hast, kannst du eigentlich mit HashSet<string> alle Dubletten eliminieren ohne großen Performance Aufwand.
Oder hast du hier noch andere Anforderungen?

T-Virus

Thema: c# Consolenprogramm nutzt nur 1 CPU-Core
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du solltest dich mit dem Thema Multithreading bzw. generell mit Threading beschäftigen.
Windows managed nur die Threads, kümmert sich aber nicht darum deine Software magisch auf alle Kerne zu verteilen.
Dies muss der Entwickler selbst mit Threads bzw. mit Tasks lösen.

Auf den ersten Blick wüsste ich nicht, wie man den Code per Threading/Tasks optimieren sollte.
Gerade der Vergleich von Listen muss zwangsweise auch durch einen Thread erledigt werden.

Nachtrag:
Anstelle von Listen wären ggf. HashSet zum ermitteln von eindeutigen Einträgen besser.
Ggf. lässt sich dein Problem also durch andere Datenstrukturen optimaler lösen als durch die Listen.

Nachtrag 2:
Try-Error ist übrigens kein guter Ansatz um programmieren zu lernen.
Lies dich mit guten Büchern ein oder mit Lernvideos.
Try-Error kann dir nicht die Grundlagen sauber vermitteln und ist auch keine optimale Problemlösung.
Besser ist es, wenn man die jeweilige Programmiersprache sauber lernt und dem Umgang auch durch einen Blick in die Doku lernt.

T-virus

Thema: Arrays vergleichen und Unterschiedliche Werte ausgeben
Am im Forum: Grundlagen von C#

Wie sieht den dein aktueller Ansatz aus?
Der einfachste Ansatz wäre durchlaufen der Arrays und prüfen ob die jeweiligen Werte identisch sind.
Dafür brauchst du nur eine for Schleife.

Hierbei musst du aber beachten, dass die Arrays gleich groß sein müssen.
Wenn diese unterschiedlich groß sind, musst du dies noch beachten!

T-Virus

Thema: C# StreamReader Zeichen entfernen
Am im Forum: Grundlagen von C#

Bitte den Code formatieren, macht ihn lesbarer, Button hat du auch im editor
Du musst Trim auf zeile anwenden bevor du diese per Split aufteilst.

T-Virus