Как я вижу в справочнике , оба параметра Delete
имеют значение int
, максимальное значение которого меньше, чем 2^31
. Кажется, вам не нужна такая проверка.
В любом случае, если вы хотите получить целое число 2
, вы можете использовать оператор двоичного сдвига:
1ull << 31
Оператор двоичного сдвига обрабатывает биты целого числа таким образом, что все биты сдвигаются в требуемом направлении. Например,
Operation Bits Shifted bits 10-based
1 << 1 00000001 00000010 2
1 << 2 00000001 00000100 4
4 << 2 00000100 00010000 16
И так далее. Так что 1ull << 31
это 2^31
. ull
означает, что мы используем 64-битное число, потому что int
слишком мало для него.
Чтобы удалить лишний хвост, используя Delete, он должен выглядеть как
ExportFileName.Delete(1 << 10, ExportFileName.Length());
или
ExportFileName.SetLength(1 << 10);
И, вероятно, вам не нужно заранее проверять длину. Просто Delete
или SetLength
. Если это уже удовлетворяет, никакие действия не будут выполнены.