簡體   English   中英

Java char文字到C#char literal

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM