在 C# 中使用方法返回值 int

Che*_*ire -1 c# string methods int return

我正在上 c# 编程课,这是我们的第一周,我正在努力工作。为此,我正在尝试重新设计我们的一个课堂实验室,并坚持使用我的“GetInt”方法。

理想情况下,GetInt 方法(第 50 行)接受一个字符串(输入一个数字)并将该数字作为 int 返回,这样我就可以用它来做一些数学运算。当前第 24 行将测试错误“无法隐式转换类型 'int' 转换为 'string'。

任何帮助表示赞赏。我是一个新手,所以请不要以为我什么都知道。谢谢你。

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

namespace lec022_If_statement_int
{
class Program
{
    //Set to public so it is visible
    //void because it returns nothing
    //Play is a method within the class Program I've added
    public void Play()
    {
        DisplayStr("Lecture 2c | If Statements with ints");
        DisplayReturns();

        DisplayStr("Welcome to Dunut King");
        DisplayReturns();

        //Collect User Name
        //GetString converts to lower, trims
        String numDonuts = GetInt("How many donuts would you like?: ");
        DisplayReturns();

        //Display welcome
        Console.WriteLine("You asked for " + numDonuts + " donuts.");
        DisplayReturns();

        DisplayReturns();
        DisplayStr("Have a great Day!");
    }



    //MaxBox 2.0
    public void DisplayStr(String StrTxt)
    { Console.Write(StrTxt); }

    public void DisplayReturns()
    { Console.Write("\n\n"); }

    public string GetString(String StrVar)//note - using strings here
    {
        Console.Write(StrVar);
        return Console.ReadLine().ToLower().Trim();
    }

    public int GetInt(string intVar)//note - using ints here
    {
        Console.Write(intVar);
        return int.Parse(Console.ReadLine());
    }

    //Initiate Program
    static void Main(string[] args)
    {
        Program myProgram = new Program();
        myProgram.Play();

        Console.Read();
    }
}
Run Code Online (Sandbox Code Playgroud)

}

rcs*_*rcs 5

您的GetInt方法返回int. 所以你需要改变从

String numDonuts = GetInt("How many donuts would you like?: ");

int numDonuts = GetInt("How many donuts would you like?: ");