public string[] arrTestResults = new string[8];
public string TestName;
[TestInitialize]
public void SetupTest()
{
// Assigning aliases to array indexes
TestName = arrTestResults[0] = "";
}
public void General()
{
arrTestResults[0] = "Test 1: General"; // works
TestName = "Test 1: General"; // does not work. Quick Watch says TestName = Null. WHY?
Run Code Online (Sandbox Code Playgroud)
我认为你的问题标题显示了潜在的误解:
数组索引的别名
当您指定如下字符串时:
TestName = arrTestResults[0];
Run Code Online (Sandbox Code Playgroud)
你没有为包含的内容分配别名arrTestResults[0],而是你正在复制对字符串arrTestResults[0]指向的引用TestName.这是对字符串的引用的副本,但不是别名.
稍后,当您为以下值分配值时TestName:
TestName = "Test 1: General";
Run Code Online (Sandbox Code Playgroud)
这会复制一个新的引用,覆盖旧的引用.它对数组中的引用没有任何作用,因为它是一个单独的副本.
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |