Laden...
Avatar #avatar-2253.png
math55 myCSharp.de - Member
Entwickler Deutschland Dabei seit 15.03.2007 314 Beiträge
Benutzerbeschreibung

Forenbeiträge von math55 Ingesamt 314 Beiträge

23.09.2009 - 11:06 Uhr

Hallo,

ist es möglich, eine Methode zu erstellen, die Parameter eines Typs (z.B. string) bekommt, man aber nicht sagt wieviele es sein werden? Wenn das möglich ist, wie greife ich dann auf diese Parameter zu?

Danke 😃

07.09.2009 - 15:32 Uhr

Hallo, habs jetzt geschnallt, vielen Dank!!

07.09.2009 - 11:16 Uhr

Hallo, verstehe...aber warum kann ich denn nicht direkt aufrufen? Mal das Codebeispiel aus MSDN:



   List<string> sublist = dinosaurs.FindAll(EndsWithSaurus);
 
    private static bool EndsWithSaurus(String s)
    {
        if ((s.Length > 5) && 
            (s.Substring(s.Length - 6).ToLower() == "saurus"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }

Ich muss doch ohnehin angeben, welche Methode (welcher Code) genutzt werden soll. Oder geht es darum, dass es auch auf N andere Methoden passen würde?

Danke 😃

Grüße

07.09.2009 - 10:14 Uhr

Nun möchtest Du das ganze aber nicht hart verdrahten, weil diese langlaufende Funktion allgemein nutzbar sein soll. Was also tun?

Aha, was heisst denn jetzt aber hart verdrahten? Ich muss doch die Aufrufe so oder so im Code stehen haben. Kannst Du mal ein Beispiel hartverdrahtet und eins mit nem delegate posten?

Danke!!

07.09.2009 - 09:49 Uhr

Hallo, ich verstehe das Konzept der delegates nicht richtig. Was kann man damit tun, was man ohne delegates nicht machen könnte?

Danke 😃

04.09.2009 - 12:08 Uhr

Naja, viele kleine Mthoden sind schonmal besser als eine riesige die alles macht 😉

Die Wartbarkeit des Codes an sich profitiert ja von den vielen Methoden, da man mögliche Fehler leichter beheben kann.

Das war ja auch meine Intention dahinter...na ja, lass ichs halt so 😄.

Grüße

04.09.2009 - 12:00 Uhr

Ja, das stimmt schon, sind aber sehr viele kleine Methoden und irgendwie gefällt es mir nicht..vermutlich hast Du aber recht 😃.

04.09.2009 - 11:53 Uhr

Hallo, ich habe eine Klasse welche sehr viele Methoden hat, die aber nicht woanders genutzt werden, nur innerhalb der Klasse selbst. Allerdings gefällt mir das nicht wirklich und ich frage mich, wie man das umstrukturieren könnte. Gibts da ein Pattern oder sowas?

Danke 😃

17.08.2009 - 14:41 Uhr

Hallo, sagen wir mal ich habe diesen Code:


int a = strA
int b = strB
int N = strN

Also eine beliebige Anzahl von strings, die Zahlen beinhalten sollen und nach int gecastet werden müssen. Ist jetzt einer der strings keine Zahl, soll der entsprechende int Wert 0 werden. Wie mache ich das jetzt, ohne jedesmal ein try/catch zu verwenden? In meinem Fall wären es 10 castings.

Danke 😃

12.08.2009 - 10:29 Uhr

@zommi

So habe ichs gemacht 😃. DANKE!

12.08.2009 - 09:48 Uhr

Hallo, ich habe 2 Counter, die von 1-x zählen. Jetzt möchte ich entsprechend diese Counter einen String zusammenbauen, mittels StringBuilder.

Als Beispiel kommt dann z.B. sowas raus:

Es wurden 8 Datensätze erstellt und 1 Datensätze aktualisiert.

Wie man sieht, stimmt da die Grammatik nicht ganz, ich möchte haben:

Es wurden 8 Datensätze erstellt und 1 Datensatz aktualisiert.

Wenn es also einer der beiden oder beide Counter auf 1 stehen, soll "Datensatz" erscheinen. Jetzt könnte ich das mit if Abfragen machen, aber gibt es eventuell einen eleganteren Weg dies zu bewerkstelligen? Das ist mein Code, wie ich die Zeile erstelle:


stringBuilder.Append("Es wurden " + counter1 + " Datensätze neu erstellt und " + counter2 + " Datensätze aktualisiert.");

Danke 😃

22.07.2009 - 11:44 Uhr

Hallo,

ich habe einen Ordner mit Dateien dieser Art:
_
kaution.csv
_2009-07-22-07-58-26_kaution_2009_07_22_05_00_20.csv
_2009-07-22-07-58-26_kaution_2009_07_21_05_00_20.csv
_2009-07-20-07-58-26_kaution_2009_07_20_05_00_20.csv
2009-07-21-07-58-26_kaution_2009_06_12_05_00_20.csv
kaution_2009_04_21_05_00_20.csv
kaution_2007_01_21_05_00_20.csv
kaution_2009_07_22_05_00_20.csv
kaution_2009_07_20_05_00_20.csv

Hier möchte ich nun die zuletzt benannte Datei anhand des Namens finden und zwar entsprechend dem timestamp for der Endung, also z.B. _2009_07_22_05_00_20. In diesem Fall muss also die Datei _2009-07-22-07-58-26_kaution_2009_07_22_05_00_20.csv dabei raus kommen, da diese die neuste nach kaution.csv ist. Die Datei selber kann unterschiedlich heißen, also auch xyz.txt. Wie könnte man das wohl am elegentesten lösen? Vielleicht mit einem schönen Regex?

Danke 😃

05.06.2009 - 09:00 Uhr

Hi, ich habe seit einigen TAgen das Problem, dass mein VS2008 Pro entweder nach kurzer Nutzung einfriert, oder aber sofort nach dem Start. Ich habe schon gegoogelt aber nicht wirklich was finden können. Es scheint aber nicht am Studio generell zu liegen, da andre Projekte das Problem nicht haben. In der Taskleiste wird dann eine Verzögerungsbenachrichtigung angezeigt. Andere Kollegen haben das Problem mit der selben Solution allerdings nicht. Woran könnte das liegen bzw. was könnte ich noch probieren?

Danke 😃

31.03.2009 - 14:57 Uhr

Hallo, ich verstehe nicht ganz, wie ich Events in ASP.NET programmieren kann. Ich habe eine Klasse, die von EventArgs erbt. Die ist dann so eine Art Value Object. Dann habe ich eine Klasse, die mein Event ist. Jetzt käme noch ein Delegat dazu, da weiss ich nicht weiter. Kann mir mal jemand ein einfaches Beispiel posten, oder einen Link senden?

Danke 😃

21.03.2009 - 22:45 Uhr

Hallo,

ich habe eine Frage bezüglich Heap und Stack. Klassen werden ja auf dem Heap gespeichert und jede neue Instanz der Klasse verweist auf die gleiche Stelle im Heap. Hingegen Werttypen und structs etc landen ja im Stack und belegen da soviel Platz, wie sie eben belegen. Das ist erstmal klar. Jetzt die Fragen:

  1. Was passiert, wenn ich in einer Instanz einer Klasse Werte setze, landen die dann auf dem Stack?

  2. Der Heap ist ja ein Teil aus dem Arbeitsspeicher, was ist dann aber der Stack?

Das wars schon, vielen Dank 😃.

Grüße

10.03.2009 - 16:03 Uhr

Hallo,

wenn ich in die Einstellungen meines Web Projektes gehe, bekomme ich neuerdings diese Meldung:

Ein COM-Objekt, das vom zugrunde liegenden RCW getrennt wurde, kann nicht verwendet werden.

Woran kann das liegen und wie bekomm ich die wieder weg?

Danke 😃

15.12.2008 - 16:33 Uhr

Hallo,

wie füllt man denn aber dann aus dem Controller die Felder des Forms?

Grüße

15.12.2008 - 16:13 Uhr

Hallo,

ich habe ein normales Windows Form, in welchem eben ein paar Felder und Labels sind. Dann habe ich eine Klasse, welche einen Form Parameter hat, welchen ich aus meinem Form mit "this" fülle. Möchte ich jetzt aber in der aufgerufenen Methode auf die Textfelder zugreifen funtioniert das nicht. Was mache ich falsch ... benötige ich setter und getter für alle Felder im Form? Im Grunde war das mein Versuch MVC mit C# Forms zu machen. Ich nutze dafür das command Pattern ... also sprich, jemand klickt auf den "Speichern" Button, dann gibts ein SaveCommand und so weiter. Da ich aber im Command auch eine Meldung an eine Textbox im Form zurückgebe, muss ich auf dieses aus dem Command zugreifen können, oder ist meine Idee nicht die beste? Wie würde man MVC anders erstellen in C#?

Grüße und Danke 😃

04.12.2008 - 17:07 Uhr

Ja, ich will nur die letzte Zahl und eventuelle dahinterliegende chars finden. Dann nehme ich an, dass das die Hausnummer ist. Mehr muss nicht sein.

@xxxprod: \d*[^\d]*)$ --> so hatte ichs ja am Anfang, geht nicht.

das Problem ist ja, dass [^\d] matcht und dann in housenumber matcht. Aber rausnehmen geht auch nicht, da ich sonst sowas wie 12a nicht bekomme. Das muss doch gehen!?

(?<strasse>.*?)(?<hausnummer>\d+[\d]*)?$ --> DANKE!

Grüße und Danke!!

04.12.2008 - 16:37 Uhr

Ja, hab ich vergessen zu erwähnen. Also eine Straße ohne Nummer muss auch erkannt werden ... ich fummele gerade mit lookahead/lookbehind rum, geht aber auch nicht recht. hhmmm...

04.12.2008 - 16:19 Uhr

Funzt leider auch nicht. Da ist beides leer ... der Regex würde ja auch bedeuten, mindestens eine Zahl dahinter gefolgt von keiner Zahl, mindestens 0 mal. Aber der passt ja nicht, wenns gleich keine gibt.

04.12.2008 - 16:14 Uhr

Hallo, habs jetzt also so:


string street = "Musterstraße";
			
Match splitMatch = Regex.Match(street, @"(?<street>.*?)(?<housenumber>[0-9]*[^0-9]*$)");

Console.WriteLine("street: " + splitMatch.Groups["street"].Value);
Console.WriteLine("nummer: " + splitMatch.Groups["housenumber"].Value);

Funktioniert auch bestens, bis auf eine Ausnahme. Diese wäre, wenn ich nur eine Straße habe. Also z.B. nur Mustergasse. Dann habe ich im ersten writeline nichts stehen und im zweiten die Straße. Was ist da noch falsch?

Danke 😃

04.12.2008 - 15:34 Uhr

Hallo,

ich habe ein Problem, für welches ich keine Lösung habe. Ich habe Strings in dieser Art:

Musterstr. 12 bei Müller
Dr. Muster Platz 12 (a/c)
Musterstr. 12

Wie kann ich bei denen die letzte Zahl finden, ohne dabei die Daten hinter der Zahl zu verlieren. Ich möchte also sowas haben:

Musterstr. 12 bei Müller --> 12 bei Müller
Dr. Muster Platz 12 (a/c) --> 12 (a/c)
Musterstr. 12 --> 12

Momentan schau ich nach dem letzten Punkt oder dem letzten Space, was bei Variante 2 natürlich nicht klappt. Jemand eine Idee dazu?

Danke 😃

14.10.2008 - 14:15 Uhr

Ich korrigiere mich (Seite war vorhin down). Es geht ganz fix und es kommt "Dei Seite kann nicht angezeigt werden". Also nur einige Sekunden...kann dann ja nich am Timeout liegen? Außerdem sehe ich gerade, dass der auf 2500 gesetzt ist ... daran kanns also nicht liegen?

Danke 🙂

14.10.2008 - 11:09 Uhr

Geht nicht heisst, er lädt und lädt und irgendwann kommt ein timeout.

🙂

14.10.2008 - 09:46 Uhr

Hallo,

ich habe über eine Uploadfunktionalität auf einer ASPX Seite eine Datei hochgeladen, die 12 MB ist. Das hat nicht geklappt, es geht erst wieder, wenn die Datei <10 MB ist. Ich habe die "maxrequestlength" schon auf 20 MB gesetzt, geht trotzdem nicht. Gibt es da eventuell noch Einstellungem im IIS, oder sonstwo?

Vielen Dank 🙂

13.10.2008 - 15:08 Uhr

Hallo,

ich habe ein komisches Problem. Ich verwende in meinem Code die Methode FlushFinalBlock() aus System.Security.Cryptography.CryptoStream. Ich habe vor Kurzem von Windows Server 2003 auf 2008 umgestellt, seit dem wird mir jedesmal der w3wp.exe Prozess abgeschossen, sobald ich die ASPX aufrufe, welche FlushFinalBlock verwendet. Also Anwendung pfeift komplett ab!

Hat jemand eine Idee, ob es an Rechten im IIS oder sonstwo liegt? ICh habe keine Ahnung mehr, wo ich gucken soll?!

Danke 🙂

06.10.2008 - 17:27 Uhr

Hallo,

ich habe ein Objekt vom Typ GridViewRow, welches 4 Spalten beinhaltet. Wie könnte ich wohl die letzte Spalte löschen? Ich brauch das für einen XLS Export, der eben nur die 3 Spalten beinhalten soll.

Danke 🙂

30.09.2008 - 13:10 Uhr

Hm, irgendwie nicht so recht...wie würde das aussehen?

Danke 🙂

30.09.2008 - 12:53 Uhr

Hallo,

wie kann ich denn ein Datum welches als String vorliegt und die Form d.m.yyyy hat so umformatieren, dass am Ende eben dd.mm.yyyy rauskommt?

Danke 🙂

26.09.2008 - 15:07 Uhr

Habs, mittels GridView1.Columns[...].Visible = true|false

26.09.2008 - 14:40 Uhr

Hallo,

ich habe ein GridView, welches an einem SQLDataSource hängt. Standardmäßig habe ich 3 Spalten angezeigt (ID, Name und gelöscht). Jetzt möchte ich eine Checkbox hinzufügen und wenn diese "checked" ist, die Spalte gelöscht ausblenden. Wie stelle ich das an? An die Source eine neue Abfrage senden?

Danke 🙂

26.09.2008 - 12:23 Uhr

Hallo,

ich möchte Daten eines GridViews als XLS exportieren. Also habe ich diesen Code in der ClickMethode des Buttons:


protected void Button1_Click(object sender, EventArgs e)
{
     Response.Clear();

      Response.AddHeader("content-disposition", "attachment;filename=test.xls");

      Response.Charset = "";

      Response.ContentType = "application/vnd.xls";

       StringWriter writer = new System.IO.StringWriter();

       HtmlTextWriter htmlTextWriter = new HtmlTextWriter(writer);

        this.GridView1.RenderControl(htmlTextWriter); //-->hier passiert der Fehler

        Response.Write(writer.ToString());

        Response.End();
 }

Wenn ich jetzt auf meinen Button klicke, der eben diese Funktion im onclick stehen hat, kommt diese Meldung: Das Steuerelement GridView1 vom Typ GridView muss in einem Formulartag mit runat=server positioniert werden. Aber das Interessante ist, ich habe das GridView in einem form tag mit runat="server". Muss man da noch was beachten?

Ich habe die Zeilen des Grids angepasst und paging/sorting aktiv, eventuell hats was damit zu tun?

Danke 🙂

26.09.2008 - 10:15 Uhr

Hallo, sagen wir mal, ich habe eine längliche Abfrage dieser Art:


if (rowView.Row["familyname"].ToString().Trim().Length == 8)

Könnte ich in C# auch gleich auf mehrere Werte prüfen, also auf 8, 12, 20 gleichzeitig, ohne rowView.Row["familyname"].ToString().Trim().Length mehrfach abzufragen bzw. vorher in nen string zu packen?

Danke 🙂

25.09.2008 - 12:21 Uhr

Jep, so habe ichs dann auch gemacht...so ähnlich.

Danke 🙂

25.09.2008 - 12:20 Uhr

Cool! Besten Dank!

24.09.2008 - 15:48 Uhr

Hallo,

ich habe ein SQLDataSource welches. Das habe ich in ein Grid gepackt. Geht es irgendwie, je nach Daten in der Zeile, eine Zeile einzurücken, oder anders zu färben? Also sagen wir mal, in der Zeile ist eine id drinne, wenn diese 8 Stellen hat, färbe Zeile rot, sonst grün.

Möglich?

Danke 🙂

24.09.2008 - 11:55 Uhr

Hallo,

ich habe ein HashTable dieser Art:

_
key1-->wert1
key2-->wert2
key3-->wert3
key4-->wert4
key5-->wert5_

Was wäre ein guter und vorallem schneller Weg, dieses zu kopieren, aber nur bestimmte key/value Paare zu übernehmen? Also eine Art Filter daraus anzuwenden. Nach dem kopieren soll also nur noch key 2 und key4 drinnen sein, zum Beispiel.

Gibts da was fertiges?

Danke 🙂

19.09.2008 - 07:55 Uhr

Hallo, danke für die frühe Antwort. Ich meinte eher, wenn ich die Elemente reinpacke mittels list[index] = "dsdsdd", kommen diese dann auch wieder an dieser Stelle raus?

Danke

19.09.2008 - 07:44 Uhr

Eine Sache habe ich noch. Könnte es nach der Umstellung von string[] array auf List<string> Probleme mit der Sortierung geben?

Danke 🙂

19.09.2008 - 07:43 Uhr

Ja, funktioniert prima 🙂

Danke

17.09.2008 - 15:48 Uhr

Hallo, alles klar. Eine Frage noch:

Ich wollte damit eigentlich eine kleine Performanceverbesserung erreichen, aber das macht wirklich keinen Unterschied, ob ich ein Array nehme oder die besagte List<string>. Welche Collection könnte ich denn nehmen oder wäre es in jedem Fall egal?

Danke 🙂

17.09.2008 - 15:37 Uhr

Ok, so geht es, kannst Du mir das auch erklären?

Danke 🙂

17.09.2008 - 15:32 Uhr

Hallo,

hatte ich auch schon, Count ist danach immer 0. Hab ich einen Denkfehler? Kann ich denn überhaupt mittels [index] auf die List zugreifen?

Grüße

17.09.2008 - 15:25 Uhr

Hallo,

ich habe in meiner Anwendung ein string Array verwendet und zwar in dieser Art:


string[] array = new string[50];

Jetzt möchte ich dieses durch eine List<string> ersetzen, allerdings ohne jetzt nen Haufen Code ändern zu müssen. Also dachte ich, ich mach das so:


List<string> array = new List<string>();

Bisher greife ich auch das Array zu, indem ich sage:


array[index] = "fdfksdjflkf";

Verwende ich jetzt die List<string>, kompiliert er zwar, aber ich bekomme eine OutOfRangeException, wenn ich zuweisen (array[index] = "fdfksdjflkf"; ) will. Mir ist klar, dass man das mit add macht, aber geht es nicht irgendwie, ohne jetzt sämtliche Zuweisungen abändern zu müssen?

Danke 🙂

17.09.2008 - 08:53 Uhr

Ich möchte lediglich schaun, ob ein String eine Nummer ist, darum brauch ich den out Parameter nicht.

Grüße

16.09.2008 - 17:22 Uhr

Also wie wäre dann mein TryParse?


if (int.TryParse(myString)) // ist nur eine Nummer die klein ist, int reicht hier aus
    //ist eine Nummer

Korrekt?

16.09.2008 - 16:39 Uhr

Was wäre denn fixer?

Grüße

16.09.2008 - 16:17 Uhr

Hallo, momentan prüfe ich, ob ein string eine Nummer ist, indem ich nen Regex nehme:


if(Regex.isMatch(meinString, "^\\d+$"))
    //ist eine Nummer

Gibt es da nicht eine eingebaute Variante der Art:


if(myString.IsNumber())
    //ist eine Nummer

Wie macht man das üblicherweise in C# 3.x?

Danke 🙂

16.09.2008 - 12:32 Uhr

Hallo,

kann jemand ein Buch oder einen Link zum Thema C# Performancetuning empfehlen?

Danke 🙂