我有一个对象列表,这些对象都有一个与它们关联的非唯一tablename属性,但我想自己创建第二个名称列表。
示例数据:
{
"TableName": "CodeTable1",
"ID": 7,
"Value": "7 ",
"CodeStatus": "A",
"SiteLocationID": null,
},
{
"TableName": "CodeTable2",
"ID": 6,
"Value": "string value example",
"CodeStatus": "A",
"SiteLocationID": 1,
},
{
"TableName": "CodeTable2",
"ID": 18,
"Value": "different value etc",
"CodeStatus": "A",
"SiteLocationID": 2,
}
最终我想填充一个下拉列表,其中只有2个选项是CodeTable1和CodeTable2。有什么建议吗?
答案 0 :(得分:1)
使用Enumerable.Distinct
仅从表名中获取唯一值:
list.Select(x => x.TableName).Distinct()
答案 1 :(得分:1)
你想要一个选择和一个独特的
var items = myList.Select(x => x.TableName).Distinct();
答案 2 :(得分:0)
您可以在TableName
属性上对列表进行分组,然后投影每个组的键:
var tableNames = list.GroupBy(x=.x.TableName)
.Select(g=>g.Key);
这将为您提供唯一的TableName
列表。