Это не делает то, что вы думаете, потому что отсутствуют некоторые круглые скобки:
var States = from s in BranchStates
select s.State.Distinct();
Здесь Distinct
работает с каждым значением State
свойства, давая последовательность символов потому что State
(a string
) реализует IEnumerable<char>
.
Вы, вероятно, имели в виду
var States = BranchStates.Select(b => b.State).Distinct();