C# 字段从未指定给,并且始终具有默认值0
我搜索过类似的结果,有几个问题与我的相匹配,但没有一个能给我我想要的答案。我的代码字段radius1一直将自身设置回零。我知道为什么,这是因为它是在初始类中,所以每当类被称为radius1时,它都被设置为零。我如何着手解决这个问题,以便调用另一个方法并保持半径不变?这是我的密码:C# 字段从未指定给,并且始终具有默认值0,c#,C#,我搜索过类似的结果,有几个问题与我的相匹配,但没有一个能给我我想要的答案。我的代码字段radius1一直将自身设置回零。我知道为什么,这是因为它是在初始类中,所以每当类被称为radius1时,它都被设置为零。我如何着手解决这个问题,以便调用另一个方法并保持半径不变?这是我的密码: public class Circle : Shape { public static double radius1; public Circle(double radius) {
public class Circle : Shape
{
public static double radius1;
public Circle(double radius)
{
radius1 = radius;
}
public static double ShowArea()
{
return Math.PI * Math.Pow(radius1, 2.0);
}
}
“代码字段半径1”不会一直将自身设置回零
你可以:
- 切勿将其设置为除默认值(零)以外的任何值,或
- 你把它设置为非零,然后你有一些其他的代码,你没有给我们看,它设置为零。这是因为它是公共的,所以任何其他代码都可以修改它
要修复此问题,请删除
公共静态
部分,然后从ShowArea()
函数中删除static
,并修改所有代码,使其不需要任何静态内容。请发布您如何使用此Classic将静态成员数据和构造函数参数组合在一起是非常可疑的。只需从Classic中删除静态单词,如果您想创建许多圆的实例,每个实例的半径可能不同,您想要删除单词static
,因为您想要“这个圆”的区域。如果您想成为圆上的一组实用程序操作,则消除字段,只需将半径传递到ShowArea
。由于“字段从未分配给,并且始终具有默认值0”是编译时警告,并且在编译时从未设置该值(即,以静态方式),因此该值为“有点“总是零。至少对编译器来说,是的,这是我面临的问题。值始终为零,请为措辞道歉。如何处理编译器。它确实需要静态,因为这些方法是在aspx上运行的webpage@jjmart92所以这是针对ASP.NET应用程序的?那更糟。为什么?打开两个浏览器,你会发现我不明白你为什么认为“需要静态”