У меня есть класс Author.cs
как:Return список заказного класса с помощью Linq
public class Author
{
public Author()
{ }
public int _AuthorID { get; set; }
public string _AuthorName { get; set; }
public List<Paper> _Papers { get; set; }
}
и другой класс Paper.cs
как:
public class Paper
{
public Paper()
{ }
public int _PaperID { get; set; }
public List<int> _CoAuthors { get; set; }
public int _VenueID { get; set; }
public int _PaperCategory { get; set; }
public int _Year { get; set; }
}
Я хочу иметь метод в Author.cs
класса, который возвращает авторов для учитывая Год и автора между этими Годами.
Я попытался следующие:
public List<Author> GetAuthorsByYear(List<Author> _fullList, int _year)
{
return _fullList.Where(_author => _author.GetPaperYear() == _year).ToList();
}
public List<Author> GetAuthorsBetweenYears(List<Author> _fullList, int _startYear, int _endYear)
{
return _fullList.Where(_author => _author.GetPaperYear() >= _startYear && _author.GetPaperYear() <= _endYear).ToList();
}
Метод GetPaperYear()
еще не определена, но она предназначена для определения такого метода в классе Author.cs
для достижения поставленной цели, поэтому показано здесь, как манекен.
Точно так же я хочу иметь такие методы, как:
public List<int> GetCoAuthorsByYear(int _year)
{
// How to return list of coauthors by year
}
public List<int> GetCoAuthorsBetweenYears(int _startYear, int _endYear)
{
// How to return list of coauthors between years
}
public List<int> GetVenuesByYear(int _year)
{
// How to return list of venues by year
}
public List<int> GetVenuesBetweenYears(int _startYear, int _endYear)
{
// How to return list of venues between years
}
Как достичь этого с помощью Linq?
Это уже Linq, что еще вам нужно? –
Я действительно не понимаю, в чем проблема с вашим подходом? –
Его Linq, но, как я уже упоминал выше, метод 'GetPaperYear()' еще не определен в классе 'Author.cs'. '_Year' является свойством класса' Paper.cs', поэтому, если в классе 'Author.cs' есть такой метод, то Linq, показанный в приведенном выше коде, будет полезен – maliks