创建一个博客

马蒂利氟烃.

新成员
加入
3月8日,2021年
消息
4
编程经验
Beginner
大家好,希望你们在这些时间里都做得很好。

我是C#的初学者,我将创建一个简单的博客,我可以在其中添加帖子和标题。
我只想要一个用标题和日期拯救我的帖子,我无法做到,你可以帮帮我。

我感谢我能得到的任何帮助和提示。

布尔
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,890
地点
切萨皮克,va.
编程经验
10+
我们可以帮你。向我们展示您的代码。告诉我们你认为问题所在的地方。告诉我们你已经尝试过的东西。
 

马蒂利氟烃.

新成员
加入
3月8日,2021年
消息
4
编程经验
Beginner
我确实插入了我的代码,但它没有伴随着帖子,这里来了。

C#:
 {

        public static void Menyn()
        {
            Console.WriteLine("\n\tVälkommen till din blogg!");
            Console.WriteLine("\t[1] Skriv nytt inlägg");
            Console.WriteLine("\t[2] Sök efter ett inlägg");
            Console.WriteLine("\t[3] Skriv ut alla blogginlägg");
            Console.WriteLine("\t[4] Avsluta bloggen");

        }
        



        static void Main(string[] args)
        {

            List<string[]> minBlogg = new List<string[]> { }; //Här skapar vi lista som ska innehålla strängar
            string[] post = new string[2]; //Två strängar närmare bestämt

            post[0] = "";
            post[1] = "";


            

            bool menyVisas = true;

            DateTime datum = DateTime.Now;
            Console.WriteLine("\n" + datum);


            while (menyVisas)
            {
                Menyn();

                int menyVal;
                if (int.TryParse(Console.ReadLine(), out menyVal))


                    switch (menyVal)
                    {
                        case 1:
                            Console.Clear();
                            Console.Write("Skriv din titel: \n"); //Create a titel
                            post[0] = Console.ReadLine(); //for titel
                            Console.Clear();
                            Console.Write("Skriv nytt inlägg: \n");//Create a post
                            post[1] = Console.ReadLine();
                            minBlogg.Add(post);//Save titel and post
                            
                            
                            

                            break;

                        case 2:


                            



                            
                            Console.WriteLine("Sök efter inlägg: \n"); //search after post
                            string sökOrd = Console.ReadLine(); //Search word
                            bool sök = false;
                            Console.Clear();

                            for (int i = 0; i < minBlogg.Count; i++)
                            {
                                if (post[i].ToUpper() == sökOrd.ToUpper())
                                {
                                    sök = true;
                                    Console.WriteLine("Vi hittade: " + post[0] + "\n" + post[1]);
                                    
                                }

                                if(!sök)
                                {
                                    Console.WriteLine("Vi kunde tyvärr inte hitta efter det sökta inlägget");
                                }
                            }
                            
                            
                            
                            
                            break;

                        case 3:

                            
                            
                            foreach (string[] item in minBlogg)
                            {
                                if (item == null) // Something is wrong in this loop, because if there
                                                    //isnt a post, it will show the line below
                                {
                                    Console.WriteLine("Det finns inga inlägg att skriva ut"); //I want it to display this msg, when there isnt a post
                                  
                                }

                                else
                                {
                                    Console.WriteLine("\t Det här är dina inlägg!"); //Line
                                    Console.WriteLine("\n Titel: " + item[0] + "\n Inlägg: " + item[1]);
                                    Console.WriteLine(datum);
                                }
                                
                            }

                                
                            
                                
                            

                            break;

                    }



            }

        }
    }
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,890
地点
切萨皮克,va.
编程经验
10+
所以在原来的帖子中,你说你的问题在于试图保存博客标题和消息。但是看着你在第3篇文章中发布的代码,你似乎在没有发布博客标题和消息时遇到困难尝试展示消息。

In general, if a list is empty, then the foreach loop will not even be entered. Execution of the code will jump from line 95 to line 112. So your attempt to check for an empty list is not actually doing anything. To fix this, notice that in line 71 you were referencing the Count property of the list. You can do a similar check before your foreach loop. If the list has a Count of zero, then that means the list is empty, so you can print out whatever message you want.
 

马蒂利氟烃.

新成员
加入
3月8日,2021年
消息
4
编程经验
Beginner
好的,谢谢你的输入,只想让自己清楚,这样的意思是这样的?
此外,您是否可以帮助我确保显示我要显示的消息是显示的,请参阅注释。
如何确保它显示博客中的帖子(有帖子时)并显示该消息"没有任何帖子"




C#:
case 3: Console.Clear(); for (int i = 0; i < minBlogg.Count; i++) foreach (string[] item in minBlogg) { if (item == null) { Console.WriteLine("Det finns inga inlägg att skriva ut"); Console.ReadLine(); } else { Console.WriteLine("\t Det här är dina inlägg!"); Console.WriteLine("\n Titel: " + item[0] + "\n Inlägg: " + item[1]); Console.WriteLine(datum); } } break;"] case 3:

                            Console.Clear();
                           
                            for (int i = 0; i < minBlogg.Count; i++) //Like this??
                                                                   
                            foreach (string[] item in minBlogg)
                            {
                                if (item == null)                    //When there isnt a post in my blog, it doesnt show the msg below
                                {
                                    Console.WriteLine("Det finns inga inlägg att skriva ut"); //This
                                    Console.ReadLine();
                                 
                                }

                                else
                                {
                                    Console.WriteLine("\t Det här är dina inlägg!");
                                    Console.WriteLine("\n Titel: " + item[0] + "\n Inlägg: " + item[1]);
                                    Console.WriteLine(datum);
                                }
                               
                            }

                               
                            break;
 
最后编辑了主持人:

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,890
地点
切萨皮克,va.
编程经验
10+
不,你想要这样的东西伪代码:
C#:
if (list.Count == 0)
{
    print "There are no blog posts."
}
else
{
    foreach(blogPost in list)
    {
        show blogPost
    }
}
 

马蒂利氟烃.

新成员
加入
3月8日,2021年
消息
4
编程经验
Beginner
你好,我们又见面了,

我曾多次尝试过,但似乎我没有取得任何进展。
在案例4中,我想让用户输入他们想要从列表中删除的帖子中,但我无法弄清楚。

有人可以给我一个线索或什么。

提前致谢





C#:
using System;
using System.Collections.Generic;

namespace Bloggen
{
    class Program
    {

        public static void Menyn()
        {
            Console.WriteLine("\n\tVälkommen till din blogg!");
            Console.WriteLine("\t[1] Skriv nytt inlägg");
            Console.WriteLine("\t[2] Sök efter ett inlägg");
            Console.WriteLine("\t[3] Skriv ut alla blogginlägg");
            // Console.WriteLine("\t[4] Ta bort ett inlägg ");
            Console.WriteLine("\t[4] Ta bort inlägg");

            Console.WriteLine("\t[5] Avsluta bloggen");
        }


        public static List<string[]> minBlogg = new List<string[]> { }; //Skapar lista med strängar

        public static void Meny1()
        {
            Console.Clear();
            Console.Write("Skriv din titel: \n");
            string[] innehåll = new string[3];
            DateTime datum = DateTime.Now;
            innehåll = new string[3];
            innehåll[0] = Console.ReadLine(); //För titeln
            Console.Clear();
            Console.Write("Skriv inlägg: \n");
            innehåll[1] = Console.ReadLine(); //För inlägg
            datum = DateTime.Now;
            innehåll[2] = datum.ToString(); //Element 3 ska innehålla datum, då inlägg skapades

            minBlogg.Add(innehåll);

        }




        static void Main(string[] args)
        {
            //List<string[]> minBlogg = new List<string[]> { }; //Skapar lista med strängar












            bool menyVisas = true;







            while (menyVisas)
            {
                Menyn();

                int menyVal;
                if (int.TryParse(Console.ReadLine(), out menyVal))



                    switch (menyVal)
                    {
                        case 1:

                            Meny1(); //Vi anropar vår metod som innehåller Case 1







                            Console.Clear();



                            break;

                        case 2:





                            //Möjligheten att söka med hjälp linjärsökning
                            Console.Clear();
                            Console.WriteLine("Ange titel: \n");
                            string sökOrd = Console.ReadLine();
                            Console.Clear();

                            bool sök = false;





                            for (int i = 0; i < minBlogg.Count; i++)


                            {

                                if (minBlogg[i][0].ToUpper() == sökOrd.ToUpper())


                                {



                                    Console.WriteLine("Vi hittade " + "\nTitel: " + minBlogg[i][0] + "\nInlägg: " + minBlogg[i][1] + "\nDatum: " + minBlogg[i][2]); //Här skriver ut elementen som finns sparade i våra index
                                    sök = true;

                                }



                            }



                            if (sök != true)
                            {
                                Console.WriteLine("Vi kunde tyvärr inte hitta efter det sökta inlägget");

                            }

                            break;





                        case 3:                                                 //Här visas inlägg som har lagts till

                            Console.Clear();






                            if (minBlogg.Count == 0)
                            {
                                Console.WriteLine("Det finns inga inlägg att skriva ut");    //Ifall inga inlägg finns


                            }

                            else

                            {
                                //Annars detta...

                                foreach (string[] item in minBlogg)
                                {

                                    Console.WriteLine("\t Det här är dina inlägg!\n");

                                    Console.WriteLine("\n Titel: " + item[0] + "\n Inlägg: " + item[1] + "\n Datum: " + item[2]);




                                }

                            }





                            break;




                        case 4:                                //I wanna take in an input from user
                            Console.Clear();                // and delete the post they wanna delete in the list       
                            Console.WriteLine("Ange index \n");   
                            string inmattning = Console.ReadLine();
                            Console.Clear();
                            int index = Convert.ToInt32(inmattning);



                            for (int i = 0; i < minBlogg.Count; i++)
                            {

                                if (minBlogg[i] != null)
                                {
                                    
                                    
                                }
                            }
                                    


                                

                            

                            

                            for (int i = 0; i < minBlogg.Count; i++)
                            {
                                Console.WriteLine(minBlogg[i][0]);
                            }
                            Console.WriteLine("Titel borttagen");

                            break;





                        case 5:
                            //Avlsuta menyn
                            menyVisas = false;
                            Console.Clear();

                            break;

                        default:

                            Console.WriteLine("Välj mellan menyval 1-5");

                            Console.ReadLine();

                            break;



                    }



            }

        }
    }
}
 

跳伞运动员

工作人员
加入
2019年4月6日
消息
2,890
地点
切萨皮克,va.
编程经验
10+
最佳 底部