Autor Beitrag
Oliver M.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Di 02.08.11 15:58 
Ich habe eine Array von bestimmten Objekten. Diese Objekte haben alle eine Eigenschaft vom Type string. Ich möchte wissen ob / wieviele der Objekte einen bestimmten Wert in der Eigenschaft haben. Wie geht das?

Array.Where(???).Count()? Jaup, das ging mir schon durch den Kopf. Nur was kommt anstelle der ??? ?

Ich hoffe ich habe mich klar ausgedrückt,
Oliver
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 02.08.11 16:05 
Ein Delegat auf die Prüfungsfunktion.

Oder du nimmst einfach die normale Variante: Lauf das Array per Foreach-Schleife durch und prüfe selbst.

Edit:
Siehe einen BEitrag weiter unten
(vielleicht sollte ich mich auch mal richtig in LINQ einarbeiten)


Zuletzt bearbeitet von bakachan am Di 02.08.11 16:09, insgesamt 1-mal bearbeitet
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 02.08.11 16:07 
Die Bedingung die du in Where() packen wolltest kannst du auch gleich in Count() angeben.

ausblenden C#-Quelltext
1:
array.Count(x => x.MeineLiebeProperty == "MeinLieberWert");					


Wenn du die passenden Begriffe schon kanntest Where, Count wo ist das Problem die in der Hilfe dann nachzuschlagen? Vielleicht solltest du dich vorbereitend mal allgemein in Linq einlesen.
Oliver M. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Di 02.08.11 16:10 
Ok, und X kann ich frei bestimmen... Hört sich einfach genug an. Ok, ich weis jetzt wie es geht, danke, aber warum =>? Klar, hab ich auch schon mal gelesen, aber ich habe den Artikel nicht verstanden.

Troz dem, vielen Dank!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 02.08.11 18:25 
Hallo Oliver,

das => bezeichnet einen Lambda-Ausdruck, d.h. es stellt die Kurzform einer anonymen Methode dar.

Für diesen Beitrag haben gedankt: Oliver M.
Oliver M. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Di 02.08.11 19:37 
Ein Lambda-Ausdruck? Was sich die MS-Programmierer alles ausdenken...
Aber, dach wichtigste, es funktioniert!

Vielen Dank
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 02.08.11 19:41 
Das hat sich niemand bei Microsoft ausgedacht und ich denke, nachdem der Code nun funktioniert, solltest du dir doch noch einmal genau anschauen, warum er funktioniert und was das Lambda-Ding genau tut ;) . Ohne ein Mindestwissen an funktionaler Programmierung lässt sich heutzutage gar nicht mehr professionell in C# programmieren.

_________________
>λ=
Oliver M. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 109
Erhaltene Danke: 1

Win 8 CP
VS 11 Beta
BeitragVerfasst: Di 02.08.11 19:43 
Warscheinlich hast du recht. Ich muss mal gucken, ob es in meinem Buch steht.

Vielen Dank für die Hilfe