C# Can';t访问主类变量

C# Can';t访问主类变量,c#,.net,main,class-variables,C#,.net,Main,Class Variables,因此,我无法访问我的程序类变量currentCursorX和currentCursorY。 这是为什么?您可以访问它们定义的类中的private变量(Program在您的情况下) 将它们设置为公共,以便您可以从其他类访问它们 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SomeColors

因此,我无法访问我的
程序
类变量
currentCursorX
currentCursorY

这是为什么?

您可以访问它们定义的类中的
private
变量(
Program
在您的情况下)

将它们设置为公共,以便您可以从其他类访问它们

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

namespace SomeColors
{
    class Program
    {
        private static int currentCursorX = Console.CursorLeft;
        private static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {
        }
   }
}

你应该多读一点。尽管请记住,在类中使用公共字段不是一个好方法。

您可以访问它们定义的类中的
私有
变量(
Program

将它们设置为公共
,以便您可以从其他类访问它们

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

namespace SomeColors
{
    class Program
    {
        private static int currentCursorX = Console.CursorLeft;
        private static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {
        }
   }
}

你应该多读一点。尽管请记住,在类中使用公共字段不是一个好方法。

您可以访问它们定义的类中的
私有
变量(
Program

将它们设置为公共
,以便您可以从其他类访问它们

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

namespace SomeColors
{
    class Program
    {
        private static int currentCursorX = Console.CursorLeft;
        private static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {
        }
   }
}

你应该多读一点。尽管请记住,在类中使用公共字段不是一个好方法。

您可以访问它们定义的类中的
私有
变量(
Program

将它们设置为公共
,以便您可以从其他类访问它们

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

namespace SomeColors
{
    class Program
    {
        private static int currentCursorX = Console.CursorLeft;
        private static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {
        }
   }
}

你应该多读一点。尽管请记住,在类中使用公共字段不是一个好方法。

如果从程序集外部访问,请使用以下代码:

public static int currentCursorX = Console.CursorLeft;
public static int currentCursorY = Console.CursorTop;
在你们班上

public class Program
    {
        public static int currentCursorX = Console.CursorLeft;
        public static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {

        }
   }

如果从部件外部访问,请使用以下代码:

public static int currentCursorX = Console.CursorLeft;
public static int currentCursorY = Console.CursorTop;
在你们班上

public class Program
    {
        public static int currentCursorX = Console.CursorLeft;
        public static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {

        }
   }

如果从部件外部访问,请使用以下代码:

public static int currentCursorX = Console.CursorLeft;
public static int currentCursorY = Console.CursorTop;
在你们班上

public class Program
    {
        public static int currentCursorX = Console.CursorLeft;
        public static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {

        }
   }

如果从部件外部访问,请使用以下代码:

public static int currentCursorX = Console.CursorLeft;
public static int currentCursorY = Console.CursorTop;
在你们班上

public class Program
    {
        public static int currentCursorX = Console.CursorLeft;
        public static int currentCursorY = Console.CursorTop;

        static void Main(string[] args)
        {

        }
   }


你不能访问是什么意思?您是否收到错误?您试图从何处访问它?这些是静态字段,而不是“全局变量”。C#是一种基于对象的语言,而不是过程语言。也许值得读一读这两者之间的差异——您应该很早就理解您的错误。@Luaan所以如果我将它们设置为非静态的,我可以从Main将它们作为类变量访问?不,因为
Main
也是
static
。你至少应该阅读一些基础知识——什么是类,什么是字段,实例成员和静态成员之间的区别是什么,访问修饰符的处理是什么。你说不能访问是什么意思?您是否收到错误?您试图从何处访问它?这些是静态字段,而不是“全局变量”。C#是一种基于对象的语言,而不是过程语言。也许值得读一读这两者之间的差异——您应该很早就理解您的错误。@Luaan所以如果我将它们设置为非静态的,我可以从Main将它们作为类变量访问?不,因为
Main
也是
static
。你至少应该阅读一些基础知识——什么是类,什么是字段,实例成员和静态成员之间的区别是什么,访问修饰符的处理是什么。你说不能访问是什么意思?您是否收到错误?您试图从何处访问它?这些是静态字段,而不是“全局变量”。C#是一种基于对象的语言,而不是过程语言。也许值得读一读这两者之间的差异——您应该很早就理解您的错误。@Luaan所以如果我将它们设置为非静态的,我可以从Main将它们作为类变量访问?不,因为
Main
也是
static
。你至少应该阅读一些基础知识——什么是类,什么是字段,实例成员和静态成员之间的区别是什么,访问修饰符的处理是什么。你说不能访问是什么意思?您是否收到错误?您试图从何处访问它?这些是静态字段,而不是“全局变量”。C#是一种基于对象的语言,而不是过程语言。也许值得读一读这两者之间的差异——您应该很早就理解您的错误。@Luaan所以如果我将它们设置为非静态的,我可以从Main将它们作为类变量访问?不,因为
Main
也是
static
。你至少应该阅读一些基础知识——什么是类,什么是字段,实例成员和静态成员之间的区别,以及访问修饰符的处理方法。噢,
public
修饰符完成了这项工作。谢谢你,伙计。但是它们是类变量不是?就像当你开始一个新的类时,你定义了它们
private
,为什么在这里不起作用?让它们成为“public”,这样你就可以从其他类访问它们。@你想从哪里访问它们?您已将它们定义为静态,因此,一旦它们被公开,您应该能够通过作用域运算符从任何位置访问它们。我正在尝试从Main方法访问它们。@InHere-Hmm,否。您一定缺少一些关键代码。
private static
字段将在同一类中定义的静态方法中可用(即
Main
将在
Program
中看到静态私有字段)。你跳过了什么。哦,
public
修改器完成了任务。谢谢你,伙计。但是它们是类变量不是?就像当你开始一个新的类时,你定义了它们
private
,为什么在这里不起作用?让它们成为“public”,这样你就可以从其他类访问它们。@你想从哪里访问它们?您已将它们定义为静态,因此,一旦它们被公开,您应该能够通过作用域运算符从任何位置访问它们。我正在尝试从Main方法访问它们。@InHere-Hmm,否。您一定缺少一些关键代码。
private static
字段将在同一类中定义的静态方法中可用(即
Main
将看到stat