小编Fly*_*rer的帖子

至少有一个对象必须实现IComparable调用OrderBy()

我已经看到了这个问题,但我没有找到答案中的快乐......

我想这样做:

var coll = JsonConvert.DeserializeObject<ObservableCollection<ArticleJSON>>(json);
coll = coll.OrderBy(a => a.tags).Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)

抛出错误:

至少有一个对象必须实现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();
Run Code Online (Sandbox Code Playgroud)

它有效,但我很想知道为什么第一个不起作用.

编辑:

我的数据来自JSON:

            'tags': [ 

                                        'Pantoufle',
                                        'Patate'
                                     ]
                            },
            public List<string> tags { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# linq json.net

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

c# ×1

json.net ×1

linq ×1