C# 静态int主要问题

C# 静态int主要问题,c#,console-application,main,C#,Console Application,Main,这是一个控制台程序 情景: 我的c#代码中有很多函数,设置为公共和私有。当然,我有static int Main(string args[])。在intmain中,我调用了一些函数Public和Private,这会在调试时中断函数。它说,如果main是静态的,那么所有函数都必须是静态的,但我在函数Public和Private中的代码必须具有“that”函数。如果我用我的public int Main更改static int Main,则无法进行调试,因为int Main必须是静态的 首先,我要说

这是一个控制台程序

情景:

我的c#代码中有很多函数,设置为公共和私有。当然,我有
static int Main(string args[])
。在
intmain
中,我调用了一些函数Public和Private,这会在调试时中断函数。它说,如果main是静态的,那么所有函数都必须是静态的,但我在函数Public和Private中的代码必须具有“that”函数。如果我用我的
public int Main
更改
static int Main
,则无法进行调试,因为
int Main
必须是静态的

首先,我要说我真的很抱歉提出了一个不可理解的问题

如果这让理解我的场景非常困惑,请参见这里的示例代码

namespace Example
{
   class Program
   {
      public class ClassInPublic
      {
          public int Num;
          public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private void Foo()
      {
          DeclaringInstance.Num = 35;
          DeclaringInstance.Sentence = "Hello World";
          Console.Write("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class");
      }

      static int Main(string args[])
      {
          Foo();
      }
   }
}
那是我的案子

在其他人的帮助下,我已经建立了这个

namespace Example
{
   class Program
   {
      public static class ClassInPublic
      {
          public int Num;
          public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private static void Foo()
      {
          DeclaringInstance.Num = 35;
          DeclaringInstance.Sentence = "Hello World";
          Console.Write("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private static void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class");
      }

      public static int Main(string args[])
      {
          Foo();
      }
   }
}
错误符号现在较低,其余为ClassInPublic

上面说我不能申报

cannot declare instance members in static class
有人能帮我克服这个问题吗

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

namespace Example
{
    class Program
    {

        public void foo()
        {
            Console.WriteLine("This is foo in Class Program");
        }

        static void fooStatic()
        {
            Console.WriteLine("This is Static foo");
        }


        static void Main(string[] args)
        {
            Program fooInstance = new Program();

            fooStatic();
            fooInstance.foo();

        }
    }
}
这里有一个小例子。静态函数是每个类一个。当您设置公共或私有函数时,它们对于每个实例都存在

编辑:

以下是我认为您正在尝试的:

namespace Example
{
   class Program
   {
      public class ClassInPublic
      {
          static public int Num;
          static public string Sentence;
      }

      ClassInPublic DeclaringInstance = new ClassInPublic();

      private static void Foo()
      {
          ClassInPublic.Num = 35;
          ClassInPublic.Sentence = "Hello World";
          Console.WriteLine("This Private Function! And Assign Variable Value From ClassInPublic Variable");
      }

      private static void Foo2()
      {
          Console.Write("This Single Foo didnt have any Instance Class\n");
      }

      public static int Main(string[] args)
      {
          Foo();
          return 0;
      }
   }
}

您需要理解什么是
static
。请参阅文档。您的问题非常不清楚。请展示一些实际代码,并强调错误报告的位置,以便我们能够理解问题。我很难解释解决方案,因为这更像是一个课堂问题。但是如果我可以建议你养成一个习惯,永远不要在你写静态main的地方写函数。只需创建一个类并在那里定义所有功能,然后在main中调用该类对象。只是为了养成好习惯。你怎么能让
private
public
超出一个类的范围?main无法引用这些函数-它可以创建类的实例,并调用类上的公共函数。请参阅:静态函数可以具有可访问性修饰符,就像实例方法可以选择省略它们(并使用默认值)一样。不需要Console.ReadKey()