데이터 목록을 반환하고 열거 형을 기반으로 검색 중입니다. 각 열거 형에는 각 값이 있지만 반복적으로 두 개 이상의 결과를 얻습니다. 내가 뭘 잘못하고 있는지 조언 해 주시겠습니까? 각 항목에는 고유 한 열거 형이 있습니다. 그래서 컬렉션에 세 개의 열거 형이 있습니다. 세 항목을 가져와야하지만 여러 번 복제됩니다.
private ObservableCollection<TextFormField> _results = new ObservableCollection<TextFormField>();
private ObservableCollection<TextFormField> _allResults = new ObservableCollection<TextFormField>();
public List<EnumClass> Fieldtype { get; set; }
var list = _allResults.GroupBy(i => i.FieldType).Select(g => g.First()).ToList();
foreach (var s in _includeFields.Fieldtype - ENUM)
{
var test = list.Where(a => a.FieldType == s);
foreach(var i in test)
{
var item = new TextFormField
{
Text = textField.Text,
Description = textField.Description,
};
}
}
Results.Add(item);
예상 출력 텍스트 텍스트
결과 텍스트 텍스트 텍스트 텍스트 텍스트 텍스트
이것이 당신이하려는 일입니까?
// all results found
ObservableCollection<Item>() _allResults = new ObservableCollection<Item>();
// wanted field types
var _includedFieldTypes = new List<FieldTypeEnum>();
// results to display
ObservableCollection<Item>() Results = new ObservableCollection<Item>();
// get one item for each included field type
var results = _allResults
// only filter fields with included field type
.Where(a => _includedFieldTypes.Contains(a.FieldType))
// group by field type
.GroupBy(i => i.FieldType)
// take first item from each group
.Select(g => g.First())
.ToList();
// add results to observable collection
foreach(var result in results){
Results.Add(result);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다