2016-08-17 13 views
1

VBコードをC#に変換していました。私は現在、私はWatchウィンドウで値をチェックし、私が書いたこの相当するVBコードのC#コード

Name   Value Type   

LineSeparator ""c  Char 

DataSeparator ";"c Char 

のようなものを見ることができましたVB

Dim LineSeparator As Char = Convert.ToChar(10) 
     Dim DataSeparator As Char = Convert.ToChar(";") 

に似たC#

char LineSeparator = Convert.ToChar(10); 
char DataSeparator = Convert.ToChar(";"); 

を書かれたと私はこれらの2つの文を持っています時計は別の結果を示します。このようなもの

私はここで何をしていますか?私は単引用符をパラメータの周りに置く必要がありますか?

+5

結果は正しくありません。C#とVB.NETの間で値を表示するのは別の方法です。 – Steve

+0

http://www.asciitable.com/ – Plutonix

+0

@Steve Perfect!私を混乱させたウォッチウィンドウにASCIIコードを表示しています:) – Apoorv

答えて

1

結果が正しいいいえ、それはコード10の文字は、改行文字(非あるC#とVB.NET

の間にある一定の値を示すためにデバッグウィンドウで使用されるように、唯一の違いです印刷可能なもの)とVBのデバッガは、二重引用符の間に何も表示しません(しかし、文字はそこにあります)。 C#デバッガでは、これらの印刷できない文字は、エスケープ接頭辞(\)で表され、その一部には1つの文字が定義されています。

セミコロンの代わりに、問題は、VB.NETが単一の文字と文字列の両方に対して同じ引用符を使用することです。したがって、文字 "c"を追加して、文字列ではなくchar値であることを示しました。代わりにC#は文字定数を囲む一重引用符を使用します

関連する問題