C# 应在不应使用的地方使用花括号';没料到

C# 应在不应使用的地方使用花括号';没料到,c#,oop,C#,Oop,我正在学习c#(并使用它进行OOP),我正在Visual Studio中运行以下程序,它不断出现一个错误,它需要我在这里编写的大括号}。我一辈子都不明白它为什么要这样 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyFirstProject.day1.examples { class

我正在学习c#(并使用它进行OOP),我正在Visual Studio中运行以下程序,它不断出现一个错误,它需要我在这里编写的大括号
}
。我一辈子都不明白它为什么要这样

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyFirstProject.day1.examples
{
    class Class
    {
        public double salary;
        public double bonus;

        public void CalculateTotalPay(){
            //HERE
            public double totalpay = salary + bonus;
            Console.WriteLine("TP: " + totalpay);
        }
    }
}

从行
public double totalpay=工资+奖金中删除
public
,修复了它。我认为问题在于,要么因为函数是公共的,它是多余的,要么因为函数中的
totalpay
它不能被声明为公共的。

您的项目中是否只有这个类,或者您是否有另一个主方法来实例化它?我已经将您的代码放在VS project中,看起来很好。也许您的名称空间缺少一个大括号?您有任何名称空间吗?您的代码为我编译。请使用查看是否可以重新创建问题,然后将链接发布到生成编译器错误的程序。我已更新了整个文件。我很高兴不仅仅是我做了一些愚蠢的事情。“或者因为totalpay在功能中,所以它不能被宣布为公共”——这是实际原因,仅供参考。访问修饰符(如public、private等)只能在成员和类型上使用-函数中声明的变量是临时局部变量,不存在于函数范围之外,因此不可能对其使用访问修饰符。C语言定义禁止对局部变量使用访问修饰符,因为使用它们没有意义。@Samuel这是否意味着我可以仅从函数返回单个值?@JamesG是的,您只能返回单个对象,但该对象可以是列表、数组等