C# bool Назначено, но никогда не используется - PullRequest
0 голосов
/ 03 мая 2020

Я уверен, что что-то пропустил, и это действительно что-то легкое, но я на самом деле не могу понять, что я пропустил. Это с bool Bubblesort = False; строка 17. Проблема в случае 6, где я предполагаю отсортировать список, а при отладке он работает нормально и все. но я не понимаю, почему я работаю, если у меня ошибка в строке 17 и вроде 176, где значение меняется на true;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace Logg
{
    class Program
    {
        static void Main(string[] args)
        {
            Header();


            List<log> Logbook = new List<log>();
            bool Bubblesort = false;
            bool IsRunning = true;
            while (IsRunning)
            {

                Menu();
                int userInput;
                int.TryParse(Console.ReadLine(), out userInput);

                switch (userInput)
                {
                    case 1://Ny post
                        {
                            Console.Clear();
                            bool done = false;
                            while (!done)
                            {
                                Console.WriteLine("Write a title for your post: ");
                                string title = Console.ReadLine();
                                Console.WriteLine("Write your message: ");
                                string msg = Console.ReadLine();
                                Console.WriteLine("\tIs this information correct? y/n: ");
                                string input = Console.ReadLine();
                                if (input == "y")
                                {
                                    Logbook.Add(new log
                                    {
                                        Title = title,
                                        Msg = msg,
                                        Date = DateTime.Now
                                    });
                                    done = true;
                                }
                                else
                                {
                                    Console.WriteLine("\tWrite your post again please!");
                                }
                            }
                            Console.WriteLine($"\tYour log has been saved {DateTime.Now}\n");

                            break;
                        }
                    case 2://Visa inlägg
                        {
                            Console.Clear();
                            if (Logbook.Count > 0)
                            {
                                for (var index = 0; index < Logbook.Count; index++)
                                {
                                    Console.Write($"\t{index}:");
                                    Console.WriteLine("\tTitle: " + Logbook[index].Title);
                                    Console.WriteLine("\t\tMessage: " + Logbook[index].Msg);
                                    Console.WriteLine("\t\tDate: " + Logbook[index].Date);
                                    Console.WriteLine("\t-----------------------------------------------------------\n");
                                }
                            }
                            else
                            {
                                Console.WriteLine("\t There is no logs saved!");
                            }

                            break;
                        }
                    case 3://Search
                        {
                            Console.Clear();
                            Console.WriteLine("\tWrite your title: ");
                            string keyword = Console.ReadLine();
                            bool found = false;
                            for (int index = 0; index < Logbook.Count; index++)
                            {
                                //kör ToLower so att användaren inte beöver tänka på case sensitivity när de söker
                                if (Logbook[index].Title.ToLower() == keyword.ToLower())
                                {
                                    //Om denna kod block kör så får bool variabeln searchHit true som värdet efter som att man har fått en sökträff
                                    found = true;
                                    //skriver ut index för loggan i samma rad som rubriken fast nästa utmatning dvs rubriken kommer skrivas med tab ifrån index
                                    Console.Write($"\t{index}:");
                                    //skriver ut index för Rubriken för loggan        
                                    Console.WriteLine("\tRubrik: " + Logbook[index].Title);
                                    //skriver ut index för texten för loggan
                                    Console.WriteLine("\t\tMeddelande: " + Logbook[index].Msg);
                                    //skriver ut index för datumet för loggan
                                    Console.WriteLine("\t\tDatum: " + Logbook[index].Date);
                                    //skriver ut denna för att seperera alla loggar från varandra.
                                    Console.WriteLine("\t-----------------------------------------------------------\n");
                                }
                            }
                            if (!found)
                            {
                                Console.WriteLine($" {keyword} Didnt match.");
                            }
                            break;
                        }
                    case 4://Delete
                        {
                            Console.Clear();
                            Logbook = new List<log>();
                            Console.WriteLine($"Your log has been deleted {DateTime.Now}\n");
                            break;
                        }
                    case 5://Edit
                        {
                            Console.Clear();
                            for (var index = 0; index < Logbook.Count; index++)
                            {
                                Console.Write($"\t{index}:");
                                Console.WriteLine("\tTitle: " + Logbook[index].Title);
                                Console.WriteLine("\t\tMessage: " + Logbook[index].Msg);
                                Console.WriteLine("\t\tDate: " + Logbook[index].Date);
                                Console.WriteLine("\t-----------------------------------------------------------\n");
                            }
                            if (Logbook.Count > 0)
                            {
                                Console.WriteLine("Which log do you want to edit? Enter a lognumber: ");
                                string input = Console.ReadLine();
                                if (!int.TryParse(input, out int LogbookIndex))
                                {
                                    Console.WriteLine("You must enter a indexnumber!");
                                }
                                else
                                {
                                    Console.WriteLine($"\t{LogbookIndex}:");
                                    Console.WriteLine("\tTitle: " + Logbook[LogbookIndex].Title);
                                    Console.WriteLine("\tMessage: " + Logbook[LogbookIndex].Msg);
                                    Console.WriteLine("\tDatum: " + Logbook[LogbookIndex].Date);
                                    Console.Write("\tTitle: ");
                                    var title = Console.ReadLine();
                                    Console.Write("Message: ");
                                    var msg = Console.ReadLine();

                                    Logbook[LogbookIndex].Title = title;
                                    Logbook[LogbookIndex].Msg = msg;
                                    Logbook[LogbookIndex].Date = DateTime.Now;

                                    Console.WriteLine("\t Your changes has been saved!");
                                }
                            }
                            break;
                        }
                    case 6://Sort
                        {

                            Console.Clear();
                            if (Logbook.Count > 0)
                            {
                                for (int i = 0; i < Logbook.Count - 1; i++)
                                {
                                    for (int index = 0; index < Logbook.Count - 1 - i; index++)
                                    {
                                        int sort = Logbook[index].Title.CompareTo(Logbook[index + 1].Title);
                                        if (sort > 0)
                                        {
                                            log sorted = Logbook[index];
                                            Logbook[index] = Logbook[index + 1];
                                            Logbook[index + 1] = sorted;
                                        }
                                    }
                                }
                                Bubblesort = true;
                            }
                            break;
                        }
                    case 7://exit
                        {
                            IsRunning = false;
                            Thread.Sleep(10000);
                            break;
                        }
                }
            }

        }

        static void Header()
        {
            Console.WriteLine("\t\t\t\t\t\t╔══════════════════════════╗");
            Console.WriteLine("\t\t\t\t\t\t  Welcome to your logbook!");
            Console.WriteLine("\t\t\t\t\t\t╚══════════════════════════╝");
        }
        static void Menu()
        {
            Console.WriteLine("\n\tChoose an option of your choice");
            Console.WriteLine("\t--------------------------");
            Console.WriteLine("\n\t[1] Write a new post");
            Console.WriteLine("\t[2] Show logs");
            Console.WriteLine("\t[3] Search in logs");
            Console.WriteLine("\t[4] Delete logs");
            Console.WriteLine("\t[5] Edit logs");
            Console.WriteLine("\t[6] Sort list");
            Console.WriteLine("\t[7] Exit");
            Console.Write("\tEnter your choice: ");
        }

        class log
        {
            public string Title;
            public string Msg;
            public DateTime Date;
        }
    }
}

1 Ответ

0 голосов
/ 03 мая 2020

Итак, я сделал так, как я: istead: я полностью удалил строку 17: bool Bubblesort = False; И тогда я написал по-другому в случае 6: Это выглядит лучше и работает? (работает нормально при использовании в консоли.

                    case 6://Sort
                        {

                            Console.Clear();
                            bool bsort = false;
                            while (!bsort)
                            {
                                if (Logbook.Count > 0)
                                {
                                    for (int i = 0; i < Logbook.Count - 1; i++)
                                    {
                                        for (int index = 0; index < Logbook.Count - 1 - i; index++)
                                        {
                                            int sort = Logbook[index].Title.CompareTo(Logbook[index + 1].Title);
                                            if (sort > 0)
                                            {
                                                log sorted = Logbook[index];
                                                Logbook[index] = Logbook[index + 1];
                                                Logbook[index + 1] = sorted;
                                            }
                                        }
                                    }
                                    bsort = true;
                                }
                            }

                            break;
                        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...