C# 在哪里定义常量并在任何地方使用它们?

C# 在哪里定义常量并在任何地方使用它们?,c#,oop,interface,C#,Oop,Interface,在Java中,我会编写如下内容 public interface ICar { static String RED_CAR = "/res/vehicles/car_red.png"; static String BLUE_CAR = "/res/vehicles/car_blue.png"; static String GREEN_CAR = "/res/vehicles/car_green.png"; } 由于C#不允许在接口中使用字段,当我希望多次

在Java中,我会编写如下内容

public interface ICar {    
    static String RED_CAR = "/res/vehicles/car_red.png";
    static String BLUE_CAR = "/res/vehicles/car_blue.png";
    static String GREEN_CAR = "/res/vehicles/car_green.png";    
}

由于C#不允许在接口中使用字段,当我希望多次使用它们时,我在C#中在哪里定义这些常量?

您可以定义一个静态类来包含您的常量(需要是
公共的
,因为默认情况下,没有修饰符的字段是
私有的
):


在此之后,您可以使用常量,如
Car.RED\u Car

如果所有常量都是文件,最好将它们包含在资源中

在项目属性中有一个资源部分,如果需要,vs可以创建Resources.resx。 在那里你可以添加各种各样的文件或字符串(主要用于翻译)

然后,您可以通过
Properties.Resources.RED\u CAR


不过,我不会这样称呼他们。从那时起,所有全局变量和命名约定都需要知道变量中存储了什么。但是当像这样访问数据时,总是很清楚发生了什么。

一个简单的
公共静态类怎么样?对常量使用
const
,这些常量是隐式静态的,还有一点需要补充,它们看起来像是图像的路径。根据您可以使用的应用程序,谢谢,这是合理的@StuartLC没错:)我不会在名字中使用
,也不会使用正楷。记住这是C不C++,也可能重命名类“代码”>“CARTITY < /CODE >或类似的东西。@ SrRAMAMSAKEVLE同意你,但这是OP,我刚刚编写了代码基于他提供的代码:)公共常量,这样的内容(很可能会改变)这不是一个很好的主意,因为一旦它们被更改,您就需要潜在地使用它们重建所有程序集。签出扩展讨论。是的,在这种情况下,我将对文件使用常量。感谢您提供有关属性的信息。参考资料,我不知道这一点,我将立即尝试!
public static class Car
{
    public const string RED_CAR = "/res/vehicles/car_red.png";
    public const string BLUE_CAR = "/res/vehicles/car_blue.png";
    public const string GREEN_CAR = "/res/vehicles/car_green.png"; 
}