c#错误:修饰符'private'对此项无效[关闭]

问题描述 投票:1回答:4

我放在函数前面的修饰符并不重要(我尝试过公共,私有甚至保护),我总是收到一个错误,同样的错误。只有在我删除修饰符之后代码才会干净,并且我没有使用函数“Array()”。有人可以查看我的代码并向我解释发生了什么事情,我是c#的新手,也是新求助的人,所以请原谅我到目前为止所做的每一个错误。

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

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {

            public void Array()//nu se pune in interiorul functiei void Main (), deoarece va forma nesting, si ne va da eroare la compilare.
            {
                int[] intArray;
                intArray = new int[3];//all values will be 3


                var doubleArray = new[] { 34.23, 10.2, 23.2 };

                //var arrayElement = doubleArray[0];
                //doubleArray[1] = 5.55;

                for (var i = 0; i < intArray.Length; i++)
                {
                    Console.WriteLine(intArray[i]);
                }
            }

        }



    }
}

我在下面发布了代码及其图像。

In this image you can see the code

c# access-modifiers c#-7.0 local-functions
4个回答
3
投票

你有一个嵌套函数,在C#中这些被称为local functions并且没有范围。所以你需要删除访问修饰符,例如:

public static void PrintHelloWorld()
{
    string GetName()
    {
        return "world";
    }


    Console.WriteLine($"Hello {GetName()}");
}

5
投票

您正在创建nested method(也称为本地函数)。嵌套方法可能没有访问修饰符。它们只能从此方法中访问。

供参考:https://docs.microsoft.com/dotnet/csharp/programming-guide/classes-and-structs/local-functions


0
投票

您将私有函数放在静态函数中。删除私人。


-2
投票

将功能移出Main功能。您还应将其标记为静态,然后按预期使用它。如果您不想要嵌套方法,因为它已经得到了回答。

© www.soinside.com 2019 - 2024. All rights reserved.