下面是一个简单的 C++/CLI 示例。
// TestCLR.cpp : main project file.
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
System::Collections::Generic::List<String^> TestList;
for(int i = 0; i < 10 ; i++)
{
TestList.Add(i.ToString());
}
for each(String^% st in TestList)
{
st += "TEST";
Console::WriteLine(st);
}
for each(String^ st in TestList)
{
Console::WriteLine(st);
}
return 0;
}
我得到以下输出:
0TEST
1TEST
2TEST
3TEST
4TEST
5TEST
6TEST
7TEST
8TEST
9TEST
0
1
2
3
4
5
6
7
8
9
简而言之,即使我使用跟踪指针将其值更改为“TEST” , TestList中的值也不会改变。
我应该在上面的代码段中修改什么以便永久更改值?