C # .net String to Int

(Много теоретических и концептуальных объяснений было дано выше)

Ниже приведены некоторые практические примеры, когда я использовал static_cast, dynamic_cast, const_cast, reinterpret_cast.

(Также ссылается на это, чтобы понять объяснение: http://www.cplusplus.com/doc/tutorial/typecasting/ )

static_cast:

OnEventData(void* pData)

{
  ......

  //  pData is a void* pData, 

  //  EventData is a structure e.g. 
  //  typedef struct _EventData {
  //  std::string id;
  //  std:: string remote_id;
  //  } EventData;

  // On Some Situation a void pointer *pData
  // has been static_casted as 
  // EventData* pointer 

  EventData *evtdata = static_cast(pData);
  .....
}

dynamic_cast:

void DebugLog::OnMessage(Message *msg)
{
    static DebugMsgData *debug;
    static XYZMsgData *xyz;

    if(debug = dynamic_cast(msg->pdata)){
        // debug message
    }
    else if(xyz = dynamic_cast(msg->pdata)){
        // xyz message
    }
    else/* if( ... )*/{
        // ...
    }
}

const_cast:

// *Passwd declared as a const

const unsigned char *Passwd


// on some situation it require to remove its constness

const_cast(Passwd)

reinterpret_cast:

typedef unsigned short uint16;

// Read Bytes returns that 2 bytes got read. 

bool ByteBuffer::ReadUInt16(uint16& val) {
  return ReadBytes(reinterpret_cast(&val), 2);
}

-3
задан Omar 13 July 2018 в 23:06
поделиться

1 ответ

Функция преобразования PHP преобразует ведущие символы и игнорирует остальные. Вы можете сделать что-то подобное в C #, извлекая ведущие цифры с помощью Regex.Match , затем вызывая Int32.Parse , чтобы преобразовать подстроку в int:

    String s = Regex.Match("404, Error", @"^\d+").Value;
    Console.WriteLine(Int32.Parse(s));
    // 404
1
ответ дан jspcal 17 August 2018 в 12:06
поделиться
  • 1
    Он отлично работает! Спасибо. Может быть, я должен использовать раскол вместо этого? Я имею в виду, что есть шаблон, поэтому, я думаю, он потребляет больше памяти, или он медленнее. – Omar 13 July 2018 в 23:30
Другие вопросы по тегам:

Похожие вопросы: