C# 'de bir dizeler listesi var ve LINQ kullanarak listedeki dizelerdeki benzersiz karakterlerin bir listesini oluşturmak istiyorum.C# içindeki LINQ kullanarak bir Listeyi <string> bir listeye dönüştürmek için <char>
Listeyi bir Listeye nasıl dönüştürebildiğim konusunda çalıştım, ancak LINQ'ın bundan daha ileri gitmesini sağlayamam.
aşağıdaki Ne var bugüne kadar olduğu gibi:
List<string> dictionary = new List<string>(someArray);
List<string[]> uniqueCharacters = dictionary.ConvertAll(s => s.Split());
ben her kömürü karşılaştırmak, sizin LinQ sonucunu almak ve döngü içine koyun
List<char> uniqueCharacters =
dictionary.ConvertAll(s => s.Split()).SelectAll(t, i=>t[i][0]);
List uniqueCharacters = dictionary.SelectMany (s => s.ToCharArray() olarak ekleyin. Distinct() .List(); Sonunda ne ile gittiğimi - teşekkürler :) –
simonalexander2005
Sonunda 'HashSet 'kullanma' var distinct = yeni HashSet (chars) 'soru daha serbestçe yorumlanırsa başka bir makul alternatiftir. Ayrıca bkz. Http://stackoverflow.com/questions/1388361/getting-all-unique-items-in-ac-list –
'ToCharArray' çağrısı gereksizdir ve performans üzerinde küçük bir etkiye sahiptir çünkü karakterlerin kopyalanması gerekir. Kaynak dizgisi yeni diziye. Bunun yerine list.electMany (s => s) 'yi yapabilirsiniz. – LukeH