Это потому, что вы создаете новый (анонимный) тип в select new { p.R_PLACEMENT }
.
Таким образом, ваша переменная placement
будет содержать List<>
этого нового типа. Однако ListBox
не знает, как отображать элементы этого типа.
Чтобы ListBox
отображал что-то полезное, вы должны сказать ему, что он должен делать из этого анонимного типа. ListBox
не выясняет это сам по себе.
Самым простым решением, вероятно, было бы создание placement
следующим образом:
var placement = (from p in dc.PICKING
where p.ART_CODE == ArtCode_TxtBox.Text
select p.R_PLACEMENT.ToString()).Distinct().ToList();
(Из вашего примера я понимаю, что R_PLACEMENT
имеет некоторый числовой тип.) Суффикс .ToString()
дает placement
a List<string>
, который ListBox
будет рад правильно отобразить.