Как мне составить этот список кодов из двадцати лучших фильмов с помощью рейтинга?
Любые идеи, как или что добавить, чтобы сделать этот код в списке 20 лучших фильмов на основе item.rating? В C# потому что мы делаем школьный проект, в котором мы создаем базу данных Movie, поэтому я был бы признателен, если бы кто-то также мог дать мне несколько советов, когда я учусь программировать.
using System;
using System.Collections.Generic;
using System.Xml;
using System.Linq;
namespace MovieCollection
{
class Program
{
static void Main(string[] args)
{
List<Movie> movieColletion = GetMovieCollection();
}
static List<Movie> GetMovieCollection()
{
List<Movie> list = new List<Movie>();
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "/moviecollection.xml");
XmlNode node = doc.DocumentElement.SelectSingleNode("/MovieCollection/Movies");
list.OrderBy(x => "/moviecollection.xml").ToList();
list.OrderBy(x => GetMovieCollection()).ToList();
foreach(XmlNode row in node.ChildNodes)
{
Movie item = new Movie();
item.id = Int32.Parse(row.SelectSingleNode("Id").InnerText);
item.name = row.SelectSingleNode("Name").InnerText;
item.rating = Double.Parse(row.SelectSingleNode("Rating").InnerText.Replace(".", ","));
item.votes = Int32.Parse(row.SelectSingleNode("Votes").InnerText);
item.year = Int32.Parse(row.SelectSingleNode("Year").InnerText);
list.Add(item);
System.Console.WriteLine(item.name + " " + item.rating);
}
return list;
}
}
}
2 ответа
// assuming higher ratings are better:
static void Main(string[] args)
{
List<Movie> movieColletion = GetMovieCollection();
List<Movie> top20Movies = movieCollection
.OrderByDescending(m => m.rating)
.Take(20)
.ToList();
}
Ваш GetMovieCollection
метод возвращает List<T>
, Списки имеют методы для сортировки и извлечения диапазонов данных. Сортируйте список, затем извлеките первые 20 элементов.
Извините, если я неясен, обычно я помог бы более подробно, но вы признали это для школьного проекта, так что я собираюсь оставить некоторые вопросы под сомнение.