C# 第一次尝试编程。我做错了什么?
在我的第一次尝试中,我查阅了一些YouTube教程。一个是展示如何创造一个神奇的8球。我完全按照指示去做,但是不行。这样写的话没关系:C# 第一次尝试编程。我做错了什么?,c#,C#,在我的第一次尝试中,我查阅了一些YouTube教程。一个是展示如何创造一个神奇的8球。我完全按照指示去做,但是不行。这样写的话没关系: namespace Magic8Ball { class Program { static void Main(string[] args) { //Preserve Current Console Text Color ConsoleColor OldColor
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");
}
void应使用小写字母。
方法上也缺少开/闭括号。void应为小写。
方法上也缺少开/闭括号。此行不合适,实际上没有任何作用:
String Void TellPeopleTheName(String Text);
void
,而不是void
String
和void
。它要么返回某些内容,要么不返回void TellPeopleTheName(string text)
{
// write code in here to do something
}
然后,当您想要执行该操作时,您可以从另一个方法的某个地方调用该方法:
TellPeopleTheName("some text");
或者,对于返回字符串的方法:
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
,而不是void
您将为它提供两种返回类型,String
和void
。它要么返回某些内容,要么不返回
这是一个方法头,但缺少一个方法体。作为一行代码,它没有意义。方法需要做一些事情
例如,方法可能如下所示:
void TellPeopleTheName(string text)
{
// write code in here to do something
}
然后,当您想要执行该操作时,您可以从另一个方法的某个地方调用该方法:
TellPeopleTheName("some text");
或者,对于返回字符串的方法:
string TellPeopleTheName(string text)
{
// code which does something
return "some string";
}
调用它是一样的,但是您可以将返回值存储在变量中,或者以某种方式使用它:
var someVariable = TellPeopleTheName("some text");
(注意:即使在尝试此处所述的方法时,您也可能会遇到各种各样的问题。static
方法和非static
方法之间的区别会浮现在脑海中,特别是当您尝试从main()调用此方法时)
。或者从方法返回或使用返回值的各种方式。等等。还有很多东西需要学习。祝你好运!)
应该是
void TellPeopleTheName(String Text)
{
}
这将处理“失踪尸体”错误
应该是
void TellPeopleTheName(String Text)
{
}
这将解决“丢失尸体”的错误!我注意到您在理解过程中遗漏了一些东西
您尝试编写一个方法,将程序名写入控制台,但该方法的结构不正确
方法的一般结构是
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");
我注意到你在理解中遗漏了一些东西
您尝试编写一个方法,将程序名写入控制台,但该方法的结构不正确
方法的一般结构是
AccessModifier static/non-static ReturnType MethodName (ParameterType ParameterName) {
//code to do something
}
访问修饰符定义了该方法对其他代码的访问程度(作为一个新手程序员,只需将其保持为公共,直到您变得更高级)
放置静态或无(非静态)