Autor Beitrag
AdrianK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 56

Kubuntu 9.04 Jaunty
Mono 2.4 + MonoDevelop 2.0; Qt Creator
BeitragVerfasst: Sa 29.11.08 15:45 
Hallo,

ich entwickle gerade einen Kleinen Matheparser in C#, basierend auf einer ArrayList. Zuerst splitte ich den Term in ein Array auf. z.B. aus 123*4 wird [123][*][4]
Jetzt will ich dieses Array auf "*" überprüfen:
ausblenden C#-Quelltext
1:
2:
3:
4:
if (term.Contains("*") == true)
{
     // mach was...
}

Ich bekomme jedoch immer nur false zurück (auch wenn ich z.B. nach 2 suche)... woran kann das liegen?
Danke schonmal! :)
Adrian
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 29.11.08 16:42 
Hallo Adrian,

user profile iconAdrianK hat folgendes geschrieben Zum zitierten Posting springen:
... basierend auf einer ArrayList. Zuerst splitte ich den Term in ein Array auf....

Was denn nun, Array oder ArrayList? Bitte immer exakt formulieren, damit es keine Missverständnisse gibt! (Es gibt sehr viele ähnlich benannte Klassen.)

Array.Contains gibt es nicht, also handelt es sich schon um eine ArrayList. Also lautet meine Frage, wie diese entstanden ist.

Ich nehme an, dass die [] bei "[123][*][4]" nur die einzelnen Elemente bezeichnen sollen.

Das Hauptproblem dürfte daran liegen, dass ArrayList eine Liste von object ist und nicht von string. Deshalb wird auch dringend empfohlen, anstelle von ArrayList List<T> zu verwenden, in Deinem Fall also List<string>.

Jürgen

PS. Solche if-Abfragen sollten kürzer formuliert werden:
ausblenden C#-Quelltext
1:
if (term.Contains("*")) { ... }					
AdrianK Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 56

Kubuntu 9.04 Jaunty
Mono 2.4 + MonoDevelop 2.0; Qt Creator
BeitragVerfasst: So 30.11.08 18:03 
es ist eine Array List :) Die [] stellen die einzelnen Elemente dar, werde das mit list<string> mal versuchen... ^^
@ Edit: Klappt! Danke! ^^