C# 如何使用其他类中的值

C# 如何使用其他类中的值,c#,C#,我希望有一个类或者其他更好的类,在这里我存储了我想在其他类中使用的常量值 例如,我希望有一个名为a的类 public class A { public int x = 1; } 在另一个类中,我想在方法中使用该值: class B { public void test() { int y = A.x; } } 我知道这是错误的,这只是我想用的一个例子。这可能是一个基本问题,但我在编程方面没有太多经验。您必须在类B中创建类a的实例,以便访问其属性(或者在您的情况下是字段

我希望有一个类或者其他更好的类,在这里我存储了我想在其他类中使用的常量值

例如,我希望有一个名为a的类

public class A
{
  public int x = 1;
}
在另一个类中,我想在方法中使用该值:

class B
{
  public void test()
  {
    int y = A.x;
  }
}

我知道这是错误的,这只是我想用的一个例子。这可能是一个基本问题,但我在编程方面没有太多经验。

您必须在类
B
中创建类
a
的实例,以便访问其属性(或者在您的情况下是字段
x

但是,您可以访问类
A
的静态和常量成员,而无需创建本地实例:

internal class A {
    public const int X = 1;
}
internal class B {
    public void test() {
        int y = A.X;
    }
}
我强烈建议您阅读以下文章:


这些应该能让您全面了解类及其包含的成员。

您可能需要的是一个or变量,在这里您可以定义一个值并访问它,而无需初始化类

以你的例子来说,应该是这样的:

public class A {
    public const Int32 ConstantVariable = 0;

    // or

    public static Int32 StaticVariable = 0;
}

public class B {
    public void test() {
        Int32 y = A.ConstantVariable;

        // or

        Int32 y = A.StaticVariable;
    }
}

请注意,
const
变量需要当场用值初始化,并且不能更改值,而
静态
变量可以在运行时分配并随时更改。

将所有内容声明为公共是不好的做法。访问修饰符设置方法、类或变量的可访问性。同时,面向对象编程有四大支柱抽象继承多态封装。为了更好地理解编程,您应该学习它们,这里提供了链接

希望这一定会对你有所帮助

同时,在您的问题中,如果您确实需要访问类A的行为或方法,您可以将其设置为静态并在另一个类中访问

public class A{

    public static int x = 1; 
    public static void print(){
        //some code here
    }
}

public class B{

    public void test(){
        int a = A.x;
        A.print();
    }
}
或者另一种方法是将x设为私有,并将其设为getter和setter。初始化类B中A的实例并通过其实例访问它

A obj = new A();
int a = obj.getX();

我没有太多编程经验。
然后开始从头开始学习:或者将
X
声明为属性。对不起,我该怎么做?以前从未使用过getter。硬编码值可能重复。我不同意OP需要的是
const
static
成员。我相信OP可能还不理解OOP的概念。从OP所写的内容来看,它的意图似乎是创建一个泛型类来存储全局变量,比如配置类。因此,
const
\
static
是OP所需要的。只是想知道您是如何相信其意图是创建类似于config类的东西的?OP明确指出缺乏开发经验。另外,您的全局配置类不是也是静态的吗(不仅仅是它的成员)<代码>内部静态类配置这应该是对OP问题的评论,因为它没有回答OP的问题,但指出了初学者开发实践中的一个有效问题。@davisj1691我认为,这现在是一个正确的答案,不值得投反对票:)只需遵循该问题的指导原则;我做了,但不再做了。更新看起来与手头的问题更相关!
A obj = new A();
int a = obj.getX();