简单的静态方法(Console)帮助

时间:2010-09-03 10:03:38

标签: c# static-methods

这是我第一次在这里发布我的问题,希望我能得到帮助:)

我的问题:

我试图在控制台中显示“This Old Man”(仅限前两节)。 我开始学习方法了,所以请耐心等待。

歌曲:

This old man, he played one
He played knick−knack on my thumb
With a knick−knack paddy−whack
Give a dog a bone
This old man came rolling home


This old man, he played two
He played knick−knack on my shoe
With a knick−knack paddy−whack
Give a dog a bone
This old man came rolling home

我编码了以下内容:

namespace Song
{
    class Song
    {
        static void Main(string[] args)
        {
            doVerse(1);
            doChorus();
        }
        static void doChorus()
        {
            Console.WriteLine("With a knick−knack paddy−whack");
            Console.WriteLine("Give the dog a bone");
            Console.WriteLine("This old man came rolling home");
            Console.WriteLine();
            Console.ReadLine();
        }
        static void doVerse(int verseNum)
        {
            string message = "";
            message += "This old man, he played ";
            message += verseNum;
            message += ". \nHe played knick−knack ";
            //message += getPlace(verseNum);
            Console.WriteLine(message);
        }
        static void getPlace()
        {
            string message = "";
            switch (verseNum)
            {
                case 1:
                    message = "on my thumb ";
                    break;
                case 2:
                    message = "on my shoe";
                    break;
                default:
                    message = "not yet defined";
                    break;
            }
            return message;
        }
    }
}

Visual Studio给了我以下错误:

http://i56.tinypic.com/fx850m.jpg

我希望你们了解我对这个计划的意图。

由于

此致

凯尔:D

1 个答案:

答案 0 :(得分:0)

getPlace方法更改为:

static string getPlace(int verseNum)
{
    string message = "";
    switch (verseNum)
    {
        case 1:
            message = "on my thumb ";
            break;
        case 2:
            message = "on my shoe";
            break;
        default:
            message = "not yet defined";
            break;
    }
    return message;
}

我猜这是作业,所以我会解释为什么它不起作用。你有两个错误:

  1. 您的方法设置为static void 你试图回来一个 string。你必须替换voidstring表示 方法返回string
  2. 您使用的是 名为verseNum的变量是 不存在于该方法中。通过 在您必须包含的变量中 它在方法签名中。