У меня есть приложение, которое использует управляемые System::String
в элементах пользовательского интерфейса, но затем обращается к неуправляемому (читай: устаревшему) коду для более сложных вычислений.
Кроме того, не существует согласованногокодирование для строк - управляемые строки могут быть либо обычными "strings"
, либо Unicode L"strings"
, а неуправляемые строки бывают всех char *, wchar_t *, std::string, std::wstring
разновидностей.
Каков наилучший способ сравнения различных разновидностейстроки?Я надеюсь, что смогу сделать это, не прибегая к полудюжине методов сравнения, таких как
int compare(System::String ^ s1, char * s2);
int compare(System::String ^ s1, wchar_t * s2);
int compare(System::String ^ s1, std::string s2);
int compare(System::String ^ s1, std::wstring s2);
int compare(char * s1, System::String ^ s2);
int compare(wchar_t * s1, System::String ^ s2);
...
. Основной целью будет сравнение на равенство, поэтому, если это будет значительно проще, я бы хотелсм. также эти ответы.