C# 尝试获取数组的第一个元素,然后将其返回给main方法
代码无法编译,试图找到获取数组的第一个元素并将其返回给main方法的方法C# 尝试获取数组的第一个元素,然后将其返回给main方法,c#,C#,代码无法编译,试图找到获取数组的第一个元素并将其返回给main方法的方法 using System; namespace ProgramExercise10_2 { class PhotoDemo { class Photo { protected double[] price = { 3.99, 5.99, 9.99 }; public photoPrice(int width, int he
using System;
namespace ProgramExercise10_2
{
class PhotoDemo
{
class Photo
{
protected double[] price = { 3.99, 5.99, 9.99 };
public photoPrice(int width, int height)
{
Console.Write("Enter photo width: ");
width = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter photo height: ");
height = Convert.ToInt32(Console.ReadLine());
if ( width == 8 && height == 10)
{
double[] _price = price[1];
return _price;
}
}
}
}
class Program
{
static void Main(string[] args)
{
}
}
}
无法将double隐式转换为double[]
double[] _price = price[1];
应该是
double _price = price[1];
也
一定是
public double PhotoPrice(int width, int height)
{
...
if (width == 8 && height == 10)
{
return price[0]; // or price[1];
}
return 0;
}
*命名约定C#关于您发布的代码,有许多奇怪之处,但下面的代码是有效的:
public double PhotoPrice()
{
Console.Write("Enter photo width: ");
int width = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter photo height: ");
int height = Convert.ToInt32(Console.ReadLine());
if (width == 8 && height == 10)
{
double _price = price[0];
return _price;
}
else return 0.0D;
}
奇怪的是:
- 您似乎在另一个类(PhotoDemo)中(不必要地)包含了一个类(照片)
- 在方法中有一些参数,如果传入,则不使用这些参数,而是在方法中设置
- 您需要一个默认返回(请参阅我的其他返回…)
- 您正在将数组中的第二项(数组是基于零的索引)返回到另一个数组中,但只需要将其返回到双精度数组中。你可以直接返回返回double的结果,但我没有明确给出
- 方法的命名约定不是CamelCase
您仍然需要实例化该类(PhotoDemo)并从静态void main调用该方法…
double\u price=price[0]代码>\u价格
应为双精度
,而不是数组。您在photoPrice
方法中也没有返回类型,并且您不会处理if
条件从未满足的情况。不确定这是否是您想要的,但数组的第一个元素实际上是元素0:double\u price=price[0]代码>。
public double PhotoPrice()
{
Console.Write("Enter photo width: ");
int width = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter photo height: ");
int height = Convert.ToInt32(Console.ReadLine());
if (width == 8 && height == 10)
{
double _price = price[0];
return _price;
}
else return 0.0D;
}