首次尝试编程.我在这里做错了什么

本文关键字:在这里 错了 什么 编程 | 更新日期: 2023-09-27 18:18:34

在此处输入图像描述对于我的第一次尝试,我查找了一些YouTube教程。一个是展示如何创建一个魔术8球。我几乎完全按照说明进行操作,但它不起作用。这样写就好了:

namespace Magic8Ball
{
    class Program
    {
        static void Main(string[] args)
        {
            //Preserve Current Console Text Color
            ConsoleColor OldColor = Console.ForegroundColor;
            //Change Console Text Color
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Magic 8 Ball. By: Conner Bostock");
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Ask a question?: ");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            String QuestionString = Console.ReadLine();
            //Cleaning Up
            Console.ForegroundColor = OldColor;
        }
        String Void TellPeopleTheName(String Text);
    }
}

如您所见,我正在尝试创建一个字符串,而不是我需要一个字符串来执行此操作。我只是想看看它是如何工作的(所以当我需要它时,我不需要重新输入它,只需发布这个(但是一开始它说"TellPeopleTheName 必须声明一个身体"我很困惑,因为这在视频中没有发生。不仅如此,当我剪切并粘贴代码以加入它时。由于某种原因,这一切都中断了,不再工作:

namespace Magic8Ball
{
    class Program
    {
        static void Main(string[] args)
        {
            //Preserve Current Console Text Color
            ConsoleColor OldColor = Console.ForegroundColor;
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Ask a question?: ");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            String QuestionString = Console.ReadLine();
            //Cleaning Up
            Console.ForegroundColor = OldColor;
        }
        String Void TellPeopleTheName(String Text);
        //Change Console Text Color
        Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Magic 8 Ball. By: Conner Bostock");

整个底部都用红色下划线表示"无效令牌",在这种情况下不存在 Writeline"。这让我更加困惑,因为这在视频中也没有发生。我做错了什么?

感谢您的帮助,对不起您的nooby评论。我今年20岁,一直想学习编码,但总是忙于工作。最近摔断了背部,现在有足够的时间坐着无所事事,所以我想我会试一试。

这是我的(在上面(和他的(贝娄(,甚至在你的帮助下(我确实去重新观看并注意到我放了字符串空而不是静态空(这些问题仍然存在,我仍然不明白。我道歉。我真的在努力学习和理解。这是我可以跳过的部分,仍然可以制作 8 球,但我想知道为什么它不起作用以及如何修复它,所以我知道什么时候我需要使用它。新的完整代码:

namespace Magic8Ball
{
    class Program
    {
        static void Main(string[] args)
        {
            //Preserve Current Console Text Color
            ConsoleColor OldColor = Console.ForegroundColor;
            Console.ForegroundColor = ConsoleColor.White;
            Console.Write("Ask a question?: ");
            Console.ForegroundColor = ConsoleColor.DarkGray;
            String QuestionString = Console.ReadLine();
            //Cleaning Up
            Console.ForegroundColor = OldColor;
        }
        //This will tell people the name
        static void TellPeopleTheName()
        //Change Console Text Color
        Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Magic 8 Ball. By: Conner Bostock");
    }

首次尝试编程.我在这里做错了什么

这一行不合适,实际上没有任何作用:

String Void TellPeopleTheName(String Text);
  1. 这是void,而不是Void。 外壳很重要。
  2. 您为其提供两种返回类型,Stringvoid 。 它要么返回某些内容,要么不返回。
  3. 这是一个方法标头,但缺少方法主体。 作为一行代码,它没有意义。 方法需要点什么。

例如,方法可能如下所示:

void TellPeopleTheName(string text)
{
    // write code in here to do something
}
然后,当您

要执行此操作时,您将从另一个方法的某个位置调用(调用(该方法:

TellPeopleTheName("some text");

或者,对于返回string的方法

string TellPeopleTheName(string text)
{
    // code which does something
    return "some string";
}

调用它是相同的,但您可以将返回值存储在变量中或以其他方式以某种方式使用它:

var someVariable = TellPeopleTheName("some text");

(注意:即使在尝试此处描述的内容时,您也可能会遇到各种问题。 我想到了static方法和非static方法之间的区别,特别是如果您尝试从main()调用此方法。 或者从方法返回或使用返回值的各种方式。 等等。 有很多东西需要学习。 祝你好运!

String Void TellPeopleTheName(String Text);

应该是

void TellPeopleTheName(String Text)
{
}

这将处理"丢失的身体"错误!

void 应该是小写的。您在方法上也缺少左/右括号。

我注意到你在理解方面错过了几件事。

您尝试做的是编写一个方法以将程序的名称写入控制台,但该方法的结构不正确。

方法的一般结构是...

AccessModifier static/non-static ReturnType MethodName (ParameterType ParameterName) {
    //code to do something
}
访问

修饰符定义了该方法对其他代码的可访问性(作为初级程序员,只需将其保持公开状态,直到您变得更高级(。

对于初学者来说,放置静态或什么都没有(非静态(有点令人困惑,如果您要从 Main 调用该方法(静态方法(,那么它必须是静态的,这足以让初学者理解现在。

返回

类型定义调用方法时方法应返回的内容。

方法

名称就是方法的调用方式,应该是描述性的,并且清楚地说明了方法的作用。

参数类型

是作为参数传递给方法要使用的对象的类型。

参数名称

只是一个名称,名称应该很容易解释参数对方法的用途。

按照此结构,您的方法应如下所示...

public static void TellPeopleTheName(string text)
{
    //Change Console Text Color
    Console.ForegroundColor = ConsoleColor.Green;
    Console.WriteLine("Magic 8 Ball. By: Conner Bostock");
}

如果你想让方法更"正确",那么它将是......

public static void TellPeopleTheName(string nameOfProgram)
{
    //Change Console Text Color
    Console.ForegroundColor = ConsoleColor.Green;
    Console.WriteLine(nameOfProgram);
}

你会像这样调用该方法...

TellPeopleTheName("Magic 8 Ball. By: Conner Bostock");