Я пытаюсь отсортировать список данных, которые я получаю из своей базы данных, в порядке убывания по количеству голосов за каждую запись. Это то, что у меня есть, но не работает. ПРИМЕЧАНИЕ: поле upvotes представляет собой массив string [] внутри класса модели.
//Method to get all popular posts and display them in a list
public async void GetPostInfo()
{
PostsMod = new ObservableCollection<IPosts>();
var temp = await _postsProxy.GetAllPosts();
if (temp != null)
{
if (temp.Count > 0)
{
var orderedList = temp.OrderByDescending(x => x.UpVoteId.Count()).ToList(); //Orders the records in descending order based on how many upvotes they contain, puts it into a new list
foreach (var item in orderedList)
{
PostsMod.Add(item);
}
}
else
PostsMod.Add(temp[0]);
}
}
Все сообщения помещаются в var temp, а затем в список temp должен быть упорядочен в порядке убывания по количеству подсчитанных голосов. Помните, что снова поле upvote представляет собой массив string [] в классе модели.
Появляется сообщение об ошибке: System. ArgumentNullException: «Значение не может быть нулевым. Имя параметра: source '
EDIT: извините, это была ошибка с моей стороны, я сделал глупую ошибку, когда поля в классе модели не совпадали. В результате мои голоса были нулевыми.