sortering og få unike

stemmer
0

Jeg har en streng som ser slik ut

Epler, fisk, appelsiner, bananer, fisk

Jeg ønsker å være i stand til å sortere denne listen og få bare de unike. hvordan gjør jeg det i vb.net? Vennligst oppgi kode

Publisert på 29/12/2009 klokken 22:51
kilden bruker
På andre språk...                            


3 svar

stemmer
1

Jeg er ikke en VB.NET programmerer, men jeg kan gi deg et forslag:

  1. Del snoren inn i en matrise
  2. Lag en andre rekke
  3. Sykle gjennom den første rekken, og legger til en hvilken som helst verdi som ikke i det andre.

Ved ferdigstillelse vil din andre rekke har bare unike verdier.

Svarte 29/12/2009 kl. 22:55
kilden bruker

stemmer
3

Du kan gjøre det ved hjelp av LINQ, som dette:

Dim input = "apples,fish,oranges,bananas,fish"
Dim strings = input.Split(","c).Distinct().OrderBy(Function(s) s)
Svarte 29/12/2009 kl. 22:57
kilden bruker

stemmer
6

Mange av spørsmålene er ganske grunnleggende, så i stedet for å gi koden jeg kommer til å gi tankeprosess, og lar deg lære i å gjennomføre det.

For det første, har du en streng som inneholder flere elementer atskilt med komma, slik at du kommer til å trenge å splitte strengen på komma for å få en liste. Du kan bruke String.Split for det.

Deretter kan du bruke noen av skjøtemetoder for IEnumerable<T>å filter og bestille listen. De å se på er Enumerable.Distinct og Enumerable.OrderBy . Du kan enten skrive disse som vanlige metoder, eller bruke Linq syntaks.

Hvis du trenger å få det tilbake i en kommaseparert streng, så du trenger å re-join strengene ved hjelp av String.Join metoden. Merk at dette må en rekke så Enumerable.ToArray vil være nyttig i forbindelse.

Svarte 29/12/2009 kl. 22:57
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more