Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中使用变量引用数组索引#_C#_Arrays_Variables_Public - Fatal编程技术网

C# 在C语言中使用变量引用数组索引#

C# 在C语言中使用变量引用数组索引#,c#,arrays,variables,public,C#,Arrays,Variables,Public,我正在编写一些C#代码,其中有几个文件使用相同的公共变量(现在我们将这些变量称为a、b和C)。免责声明:请不要指责我的代码质量,我没有写它,修复它只是我的工作。这些变量是公共的,并在所有文件中共享,实际上应该是一个数组(a、b和c都做相同的事情,但属性略有不同)。我正在修改其中最大的一个文件,删除对变量的所有引用,并用数组字母[]替换它们,但其他文件包含对这些变量的不同引用。有没有办法在其他文件中定义某种变量或宏,这样我就不必更改每个文件中的每个引用 例如:在最大的文件“main.cs”中,我曾

我正在编写一些C#代码,其中有几个文件使用相同的公共变量(现在我们将这些变量称为a、b和C)。免责声明:请不要指责我的代码质量,我没有写它,修复它只是我的工作。这些变量是公共的,并在所有文件中共享,实际上应该是一个数组(a、b和c都做相同的事情,但属性略有不同)。我正在修改其中最大的一个文件,删除对变量的所有引用,并用数组字母[]替换它们,但其他文件包含对这些变量的不同引用。有没有办法在其他文件中定义某种变量或宏,这样我就不必更改每个文件中的每个引用

例如:在最大的文件“main.cs”中,我曾经有:

    public string a;  
    public string b;  
    public string c;  
    a = "a";  
    b = "b";  
    c = "c";  
    string[] letters;  
    letters[0] = "a";  
    //etc
但我把它修好了:

    public string a;  
    public string b;  
    public string c;  
    a = "a";  
    b = "b";  
    c = "c";  
    string[] letters;  
    letters[0] = "a";  
    //etc
现在,在文件“small.cs”中,我有

    a = "hello world";  
    b = "goodbye world";  
我不必检查每个文件,有没有办法将“a”定义为字母的第一个元素(
letters[0]
),b reference
letters[1]
,等等?这样,程序仍将运行,在小文件中,C#将知道对“a”的任何引用实际上意味着对字母[0]的引用。

使用属性:

public string A { get { return letters[0]; } }
public string a
{
     get
     {
           return letters[0];
     }
     set
     {
           letters[0] = value;
     }
}

从属性中引用它们:

public string A { get { return letters[0]; } }
public string a
{
     get
     {
           return letters[0];
     }
     set
     {
           letters[0] = value;
     }
}
而不是写作

     public string a;
     public string b; 
     public string c;
     a = "a";
     b = "b";
     c = "c";   

private List vals=新列表{“a”、“b”、“c”};
公共字符串a{get{return vals[0];}set{vals[0]=value;}
公共字符串b{get{return vals[1];}set{vals[1=value;}}
公共字符串c{get{return vals[2];}set{vals[2]=value;}

您尝试过getter和setter吗?谢谢,这正是我想要的!