[英]C#: Convert int to char, but in literal not unicode representation
[英]Java char literal to C# char literal
我正在維護一些我目前正在轉換為C#的Java代碼。
Java代碼是這樣做的:
sendString(somedata + '\\000');
在C#中,我試圖做同樣的事情:
sendString(somedata + '\\000');
但是在'\\''上,VS2010告訴我“字符文字中的字符過多”。 如何在C#中使用'\\ n''? 我試圖找出角色是什么,但它似乎是“”或某種換行符。
你對這個問題一無所知嗎?
謝謝!
'\\0'
在C#中會很好。
發生的事情是C#看到\\0
並將其轉換為ASCII值為0的零字符; 然后它再看到兩個0
秒,這在一個字符內部是非法的(因為你使用單引號,而不是雙引號)。 nul字符通常不可打印,這就是為什么當你試圖打印它時它看起來像一個空字符串。
你在Java中輸入的是一個支持八進制數字的字符文字。 C#不支持字符或數字中的八進制文字,以減少編程錯誤。 *
C# 不支持Unicode文字形式的'\ '
其中0000
是一個1-4位十六進制數。
*例如,在PHP中,如果鍵入前導零為有效八進制數的數字,則會進行轉換。 如果它不是合法的八進制數,則無法正確轉換。 <? echo 017; echo ", "; echo 018; ?>
<? echo 017; echo ", "; echo 018; ?>
輸出15, 1
我的機器上。
這是一個空字符 ,也稱為NUL。 您可以在C#中將其寫為'\\ 0'。
在C#中,字符串“\\ 000”表示三個字符:空字符,后跟兩個零數字。 由於字符文字只能包含一個字符,因此您會收到錯誤“字符文字中的字符太多”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.