嗨,如何使用 vs2003 在托管代码 C++ 中使用 foreach 循环。
我从未使用过它,但是这篇 MSDN 文章指出一般语法就是:
for each(Type t in IEnumerable)
{
}
Matthew 基本上是正确的,但这里有一个工作代码块;
///////
array<Type^>^ iterate_me = gcnew array<Type^>(2);
iterate_me[0] = Type::GetType("Type");
iterate_me[1] = Type::GetType("System.Int32");
///////
for each(Type^ t in iterate_me)
Console::WriteLine(t);
更改是 Type 是一个引用类,因此您使用“Type^”而不是“Type”,并且您需要一个实际的对象引用(iterate_me)...
类似:
String ^ MyString = gcnew String("abcd");
for each ( Char c in MyString )
Console::Write(c);
从 VS2022 开始
for each
显然不再有效。相反,你可以这样做:
IEnumerator^ enumerator = myList->GetEnumerator();
while (enumerator->MoveNext())
{
// Do stuff
}
我不认为VC++有foreach