2016-10-31 10 views
1

ich habe:Speichern doppelte Werte aus String

string turtle = "turtle" 
var charArray = turtle.ToCharArray() 

Wenn ich tun:

var distinct = charArray.Distinct().ToArray() 
// distinct = ["t","u","r","l","e"] 

Meine Frage ist:

Wie kann ich die Zeichen speichern, die von charArray gelöscht wurde, als ich Distinct darauf genannt? Wie bekomme ich die Variable distinct auf "t" (das Zeichen, das entfernt wurde)

Vielen Dank!

+0

http://stackoverflow.com/questions/245369/how-do-i-get-an-array-of-repeated-characters-from-a-string-using-linq –

+0

entfernen Zeichenfolge deutlich von der Eingabezeichenfolge (Schildkröte) und die Löschzeichen erhalten. siehe http://stackoverflow.com/questions/2201595/c-sharp-simplet-way-to-remove-first-occurance-of-a-substring-from-another-str –

Antwort

2

Verwenden GroupBy zurückzukehren nur die Buchstaben having count > 1:

string turtle = "turtle"; 
var dups = (from l in turtle 
      group 1 by l into g 
      where g.Count() > 1 
      select g.Key).ToList(); 
1
var nonUniqueChars = charArray.GroupBy(x => x) 
.Where(x => x.Count() > 1) 
.Select(x => x.First()) 

Diese Gruppe organisieren alle Zeichen, die angezeigt werden, finden Sie diejenigen, die mehr als einmal erscheinen, und dann eine einzelne Instanz jeder ziehen solcher Charakter.

Verwandte Themen