Професионална програма
Loading...
JuganD avatar JuganD 15 Точки
Best Answer

От това което виждам, колега е че си сложил orderby стринга във for цикъла. Това което се получава е, че на една итерация се чете от конзолата по 2 пъти, което и предизвиква грешката.

https://pastebin.com/4BtuJAXj

0
14/12/2018 18:33:44
bossplayaz avatar bossplayaz 4 Точки

Благодаря ти изкарах OrderBy-a от цикъла и на принта си принтирам листа и всичко е ОК :)

0
Milko123 avatar Milko123 14 Точки

За какво служи Environment.NewLine при принтирането?

0
Gorges avatar Gorges 0 Точки

Принтира на нов ред

0
Elena123456 avatar Elena123456 63 Точки

Моля за помощ- не успявам да печатам обектите от листа по правилен начин и не мога да извиквам 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}";
            }


        }
    }
}

0
25/08/2020 00:08:23