我已经看到了这个问题,但我没有找到我的幸福与答案...至少一个对象必须实现IComparable调用的OrderBy()
我试图做到这一点:
var coll = JsonConvert.DeserializeObject<ObservableCollection<ArticleJSON>>(json);
coll = coll.OrderBy(a => a.tags).Distinct().ToList();
抛出一个错误:
At least one object must implement IComparable.
目前我没有找到解决办法,所以我这样做:
List<string> categories = new List<string>();
var coll = JsonConvert.DeserializeObject<ObservableCollection<ArticleJSON>>(json);
for (int i = 0; i < test.Count; ++i)
{
for (int j = 0; j < test[i].tags.Count; ++j)
{
_categories.Add(test[i].tags[j]);
}
}
categories = _categories.Distinct().ToList();
它的工作原理,但我很想知道为什么第一个不工作。
编辑:
我的数据来自一个JSON:
'tags': [
'Pantoufle',
'Patate'
]
},
public List<string> tags { get; set; }
编译器不知道如何比较标签..什么是标签数据类型? – 2015-04-06 03:55:31
向我们显示您的数据! – 2015-04-06 03:56:07
为标签的类型 – bit 2015-04-06 03:56:39