我的起点是一个用逗号分隔的字符串,包含可变数量的整数,例如:
System::String^ tags=gcnew String("1,3,5,9");
现在我希望 - 尽可能少的步骤 - 将此字符串转换为整数列表:
List<System::Int32>^ taglist= gcnew List<System::Int32>();//to contain 1,3,5,9
此外,在操作列表后,我需要在一天结束时将其导出回字符串。我看到了被问到C#here的问题 但对于C ++而言则略有不同。
我尝试使用字符串直接初始化,但失败了。我也尝试过.Split但是会产生字符串。我也不想做任何复杂的streamreader的东西。 链接中的答案必须具有C ++ / cli的等效内容。
答案 0 :(得分:1)
正如在评论中提到的,您可以使用Split
将字符串转换为字符串数组,然后您可以使用Array::ConvertAll
转换为int值数组,并在操作值之后使用can ise String::Join
可以将一个int数组转换为单个字符串。
这是一个代码示例:
String^ tags = gcnew String("1,3,5,9");
String^ separator = ",";
array<String^>^ tagsArray = tags->Split(separator->ToCharArray());
array<int>^ tagsIntArray = Array::ConvertAll<String^, int>(tagsArray,
gcnew Converter<String^, int>(Int32::Parse));
// Do your stuff
String^ resultString = String::Join<int>(separator, tagsIntArray);