Я, очевидно, новичок, когда дело доходит до C#, и следующая программа из книги Чарльза Петцольда, которую я не совсем понимаю. Параметр в методе GetDouble
представляет собой строку с именем prompt. Нигде это не объявлено, и я думаю, что это то, что меня пугает. Я вижу, что метод Main вызывает GetDouble
и печатает три строки на консоли, но все это выглядит странно для меня. Является ли этот типичный дизайн программирования, или это не отраслевой стандарт, а для того, чтобы показать, как это можно сделать? Книга не дает ответа в любом случае. Мое собственное программирование не передало бы строку методу Main. Может кто-то помочь выправить меня?Параметры метода с обработкой исключений
using System;
class InputDoubles
{
static void Main()
{
double dbase = GetDouble("Enter the base: ");
double exp = GetDouble("enter the exponent: ");
Console.WriteLine("{0} to the power of {1} is {2}", dbase, exp, Math.Pow(dbase, exp));
}
static double GetDouble(string prompt)
{
double value = Double.NaN;
do
{
Console.Write(prompt);
try
{
value = Double.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine();
Console.WriteLine("you enter an invalid number!");
Console.WriteLine("please try again");
Console.WriteLine();
}
}
while (Double.IsNaN(value));
return value;
}
}
запрос является параметром и должен предоставляться при вызове GetDouble. И в вашем основном методе GetDouble действительно вызывается с параметром string. Параметр string просто не объявлен заранее, но внутри вызова метода. Вы также можете сначала объявить локальную строковую переменную, присвоить ей значение и передать эту переменную в GetDouble(). –
это одно из направлений, с которым я знаком, и я думаю, почему программа выглядела настолько забавной для меня в первую очередь. – wootscootinboogie
prompt - это параметр метода GetDouble(). «Введите базу:» и т. Д. Являются аргументами фактического вызова метода. –