Heute gibt es mal wieder einen kurzen Artikel zu unserer Reihe „Hilfreiche Funktionen in C# .NET„. Mit dem folgenden Codeschnipsel kann man relativ einfach die Codepage einer beliebigen Datei auslesen. Anhand der ersten 4 Bytes wird geprüft, wie das BOM (Byte Order Mark) gesetzt ist. (mehr …)
Alle Beiträge mit dem Stichwort: CSharp
Ein Objekt clonen (Deepcopy erstellen)
Weiter gehts in unserer Beitragsserie „Hilfreiche Funktionen in C# .NET„! Heute stelle ich nur kurz eine Funktion vor, mit welcher man eine Deepcopy bzw. einen Clone eines Objektes herstellen kann. Das ist beispielsweise sehr nützlich, wenn man ein Objekt im Entity-Framework kopieren und als neuen Datensatz abspeichern will. (mehr …)
Zeichenfolgen bereinigen – Sonderzeichen entfernen
Heute gibt es einen weiteren Beitrag aus unserer Folge „Hilfreiche Funktionen in C# .NET„. Wenn man Dateinamen generiert, kann es manchmal dazu kommen, dass man Firmennamen oder andere, nicht vorher eindeutig generierte Zeichenfolgen in diesen Dateinamen einfügen will. (mehr …)
RAM-Benutzung der eigenen Anwendung zurücksetzen
Heute stand ich vor einem sehr interessanten Problem. Meine Anwendung hat über die Laufzeit so viel RAM verbraucht, dass der Rechner allgemein recht langsam wurde. Und das trotz einer ordentlichen Ausrüstung.
Als kleinen Quick-And-Dirty-Behelf habe ich mir dann eine Funktion zurechtgefrickelt, welche den RAM-Verbrauch für den aktuell laufenden (also den eigenen) Prozess zurücksetzt. (mehr …)
CSharp – Interop Excel Prozess richtig beenden
Wer kennt sie nicht die Plagerei mit Interop Excel und den Com-Objekten. Da implementiert man an einer komplexe Verarbeitungen über mehrere Worksheets und denkt sich, endlich geschafft. Aber Vorsicht – mal einen Blick in den Taskmanager geworfen? Wenn man viel bei der Implementierung mittels Debug-Modus getestet hat, findet man schnell mal eine Handvoll Excel Prozesse. Daraufhin schweift der Blick prompt zur Taskleiste. Wo man zur Überraschung nicht eine geöffnet Excel Anwendung vorfindet.
Durch den Einsatz der Microsoft.Office.Interop Libraries kommt das Component Object Model von Microsoft zum Einsatz. Dabei hat man Objekte und Referenzen erschaffen die sich schnell im eigenen Code-Abschnitt heimisch füllen und die beiden Welten COM und .Net verküpfen. Darüber hinaus machen sie sich auch gerne zusammen mit einer gesamten Excel-Instanz im RAM breit. Das kann schnell zu unangenehmen Memory Leaks führen. (mehr …)
Ein Objekt clonen (Deepcopy erstellen)
Weiter gehts in unserer Beitragsserie „Hilfreiche Funktionen in C# .NET„! Heute stelle ich nur kurz eine Funktion vor, mit welcher man eine Deepcopy bzw. einen Clone eines Objektes herstellen kann. Das ist beispielsweise sehr nützlich, wenn man ein Objekt im Entity-Framework kopieren und als neuen Datensatz abspeichern will. (mehr …)
Zeichenfolgen bereinigen – Sonderzeichen entfernen
Heute gibt es einen weiteren Beitrag aus unserer Folge „Hilfreiche Funktionen in C# .NET„. Wenn man Dateinamen generiert, kann es manchmal dazu kommen, dass man Firmennamen oder andere, nicht vorher eindeutig generierte Zeichenfolgen in diesen Dateinamen einfügen will. (mehr …)
RAM-Benutzung der eigenen Anwendung zurücksetzen
Heute stand ich vor einem sehr interessanten Problem. Meine Anwendung hat über die Laufzeit so viel RAM verbraucht, dass der Rechner allgemein recht langsam wurde. Und das trotz einer ordentlichen Ausrüstung.
Als kleinen Quick-And-Dirty-Behelf habe ich mir dann eine Funktion zurechtgefrickelt, welche den RAM-Verbrauch für den aktuell laufenden (also den eigenen) Prozess zurücksetzt. (mehr …)
CSharp – Interop Excel Prozess richtig beenden
Wer kennt sie nicht die Plagerei mit Interop Excel und den Com-Objekten. Da implementiert man an einer komplexe Verarbeitungen über mehrere Worksheets und denkt sich, endlich geschafft. Aber Vorsicht – mal einen Blick in den Taskmanager geworfen? Wenn man viel bei der Implementierung mittels Debug-Modus getestet hat, findet man schnell mal eine Handvoll Excel Prozesse. Daraufhin schweift der Blick prompt zur Taskleiste. Wo man zur Überraschung nicht eine geöffnet Excel Anwendung vorfindet.
Durch den Einsatz der Microsoft.Office.Interop Libraries kommt das Component Object Model von Microsoft zum Einsatz. Dabei hat man Objekte und Referenzen erschaffen die sich schnell im eigenen Code-Abschnitt heimisch füllen und die beiden Welten COM und .Net verküpfen. Darüber hinaus machen sie sich auch gerne zusammen mit einer gesamten Excel-Instanz im RAM breit. Das kann schnell zu unangenehmen Memory Leaks führen. (mehr …)