Rozbijasz ciąg znaków za pomocą string.Split i parsujesz każdą wartość int.Parse z NumberStyles.HexNumber. W C++/CLI będzie trzeba się trochę bawić(a mi się nie chce), więc podam Ci kod C#:
var macx = (from part in mac.Split(':') select int.Parse(part, NumberStyles.HexNumber)).ToArray(); [/code]
Masz jakieś odgórne nakazy, by męczyć się w C++/CLI?
Dużo? Bez przesady… Gdy komputery mają po kilka GB RAM-u, 10MB w te czy we wte różnicy nie robi. Przyzwyczai się - .NET “tak ma”(maszyna wirtualna).
C++/CLI został wymyślony, by ułatwić łączenie kodu natywnego(głównie C++) z zarządzanym(.NET - C#/VB.NET/F#/etc.), nie po to by go używać “normalnie”. Od tego jest C#, Visual Basic.NET czy F# i te języki polecam(który sobie wybierzesz zależy od Ciebie, C# jest “pochodną” C/C++, Visual Basic.NET to pochodna BASIC-a, a F# dziedziczy z ML i OCaml).
Co nazywasz “ramem”? Dużo tzn. ile? Brakuje Ci pamięci?
C++/CLI używa się do łączenia kodu zarządzanego z niezarządzanym, modułów aplikacji natywnych z kodem .NET. Jeśli piszesz w tym coś innego, to tylko utrudniasz sobie życie.