Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Вы не храните шестнадцатеричные значения в строках.
Вы можете, но просто случилось бы так, что, строка, и должен будет быть брошен к целому числу или байту для фактического чтения его значения.
можно назначить шестнадцатеричное значение литералом к интервалу или байту хотя:
Byte value = 0x0FF;
int value = 0x1B;
Так, ее легко возможное для передачи шестнадцатеричного литерала в строку:
string foo = String.Format("{0} hex test", 0x0BB);
, Который создал бы эту строку "126 шестнадцатеричных тестов".
, Но я не думаю, что это - то, что Вы хотели?
Старайтесь избегать \x
escape-последовательность. Трудно читать, потому что то, где это останавливается, зависит от данных. Например, сколько различие там сразу между этими двумя строками?
"\x9Good compiler"
"\x9Bad compiler"
В первом, "\x9" является вкладкой - escape-последовательность останавливается там, потому что 'G' не является допустимым шестнадцатеричным символом. Во второй строке "\x9Bad" - весь escape-последовательность, оставляя Вас с некоторым случайным символом Unicode и "компилятором".
я предлагаю, чтобы Вы использовали \u escape-последовательность вместо этого:
"\u0009Good compiler"
"\u0009Bad compiler"
(Конечно, для вкладки Вы использовали бы \t
, но я надеюсь, что Вы видите то, что я имею в виду...)
Это несколько кроме исходного вопроса, конечно, но этому уже ответили :)
Существует '\u' управляющий код для шестнадцатеричного 16 битов коды символов Unicode.
Console.WriteLine( "Look, I'm so happy : \u263A" );