Articles 2.0 (Objects and Classes)
Колеги някъде гърми кода с (IndexOutOfRange)
Ако може малко помощ ?
Дори имам същия проблем и при следващата задача.. нещо не мога да схвана къде излиза...
Колеги някъде гърми кода с (IndexOutOfRange)
Ако може малко помощ ?
Дори имам същия проблем и при следващата задача.. нещо не мога да схвана къде излиза...
От това което виждам, колега е че си сложил orderby стринга във for цикъла. Това което се получава е, че на една итерация се чете от конзолата по 2 пъти, което и предизвиква грешката.
https://pastebin.com/4BtuJAXj
Благодаря ти изкарах OrderBy-a от цикъла и на принта си принтирам листа и всичко е ОК :)
За какво служи Environment.NewLine при принтирането?
Принтира на нов ред
Моля за помощ- не успявам да печатам обектите от листа по правилен начин и не мога да извиквам ToString() метода. Гледам кода на други колеги и лекции, но не мога да осъзная къде е проблема. Може ли проблема да идва заради това, че съм на MonoDevelop? Поне ако проблема е от това, моля някой да ми каже за да се успокоя, защото е много обезсърчително да не можеш да печаташ.
3. Articles 2.0
Change the program in such a way, that you will be able to store a list of articles. You will not need to use the
previous methods any more (except the ToString method). On the first line, you will receive the number of
articles. On the next lines, you will receive the articles in the same format as in the previous problem: "{title},
{content}, {author}". Finally, you will receive a string: "title", "content" or an "author". You need to order
the articles alphabetically, based on the given criteria.
using System;
using System.Linq;
using System.Collections.Generic;
namespace ObjectsAndClasses
{
class MainClass
{
public static void Main()
{
int n = int.Parse(Console.ReadLine());
List<Article> ListOfArticles = new List<Article>();
for (int i = 0; i < n; i++)
{
string[] data = Console.ReadLine().Split(", ".ToCharArray());
string title = data[0];
string content = data[1];
string author = data[2];
var newArticle = new Article();
newArticle.Title = title;
newArticle.Content = content;
newArticle.Author = author;
ListOfArticles.Add(newArticle);
}
var filter = Console.ReadLine();
if (filter == "title")
{
ListOfArticles = ListOfArticles.OrderBy(a => a.Title).ToList();
}
else if (filter == "content")
{
ListOfArticles = ListOfArticles.OrderBy(a => a.Content).ToList();
}
else if (filter == "author")
{
ListOfArticles = ListOfArticles.OrderBy(a => a.Author).ToList();
}
Console.WriteLine( string.Join(Environment.NewLine, ListOfArticles));
}
public class Article
{
public object Title { get; set; }
public object Content { get; set; }
public object Author { get; set; }
public override string ToString()
{
return $"{Title} - {Content}: {Author}";
}
}
}
}