StringToCharArray() конвертирует мой стринг в decimal

 
void OnStart()
  {
//--- 
   string params="abc123";
   char data[];
   StringToCharArray(params, data);
   ArrayResize(data, ArraySize(data)-1);
   ArrayPrint(data); // print 97 98 99 49 50 51

  }
//+------------------------------------------------------------------+

с помощью StringSetCharacter() можно это переводить в обычный char.Это я могу.

Но вопрос в том что StringToCharArray() почему сразу не переводит в обычный char?

 
Sashaaa:

с помощью StringSetCharacter() можно это переводить в обычный char.Это я могу.

Но вопрос в том что StringToCharArray() почему сразу не переводит в обычный char?

Это и есть "обычный" char - число от -127 до 128. Вы получили ASCII-коды символов. Если хотите разбить строку на символы в Unicode-кодировке, то используйте StringToShortArray:

   string params="abc123";
   ushort data[];
   StringToShortArray(params, data);
   
   int nTotal = ArraySize(data);
   for (int i = 0; i < nTotal; ++i)
      Print(ShortToString(data[i]));
        
 
поколение джава)
 
Char - char-у - рознь))). Я когда в шарпе с ним столкнулся, часа два тупил, пока осознал, что он двухбайтовый)))
 
Taras Slobodyanik:
поколение джава)

а что в джава только decimal используется?

в с# же еще.