Kul med feedback, trist med din spydiga stil.
Det är kod som _din_ som får mig att må illa
* Det känns helt onödig/fel i min mening att använda sig av en sträng när du vet att datat ska vara heltal. Sjukt tröttsamt med folk som lagrar allt som strängar och helst gärna som varchar(max) i databasen.
* Som en bonus så får vi en grundläggande indatavalidering / 'trimning' genom att köra intparse. Lita aldrig på indata.
* Du missade helt och hållet att följa det efterfrågade flödet (olika funktioner etc)
* Du skriver inte ut något resultat
Sist med inte minst så producerar din lösning inte ens ett korrekt resultat, tar följande sträng som exempel
=== Result ===
4: 2
7: 3
8: 2
9: 1
7
8
r
9
4
e
4
2e
Som vi ser så rensar jag bort skräpet och summerar det som vi kan kalla för vettig indata.
Ditt resultat är ordnat efter antal förekomster (därav 7 föst, sen 8, sen resten i en random blandning)..
Det festliga eftersom du behandlar datat som strängar är att 4:an med ett space innan räknas separat från den andra, därav, parsa skiten som int!
Därför anser jag din första verison med en intparse bättre då den iaf miserabelt failar i en exception.
Ändrar vi din fetmarkerade 'first()' till en 'count()' iställlet så kommer vi lite närmre:
Problemet är att vi fortfarande inte vet _vilken_ siffra/tecken som hör ihop med vilken frekvens.
Jag skrev ut ditt resultat som:
sortedValues.ToList().ForEach(x => Console.WriteLine(x));
(återkom gärna med en lösning på det, vet att min fina aggregate kanske inte är det bästa )
Slutsats? Se till att iaf göra _rätt_ om du ska läxa upp någon
Till sist så var hela skiten skriven med glimten i ögat, då en person som inte ens löser en sån här uppgift öht. knappast hade kunnat redovisa min lösning då h*n hade fått svårt att förklara hur linq/lambda fungerar...