什么是以下C代码的C#等价物:
while((c = getchar())!= EOF)
putchar(c);
Run Code Online (Sandbox Code Playgroud)
我知道getchar()和putchar()将分别被Console.Read和Console.Write取代但是EOF呢.特别要记住,C#使用unicode和C使用ASCII,这有什么意义?
Console.Read()在EOF上返回-1(巧合的是,EOF-1在大多数平台上定义).
你可以做:
int c;
while ((c = Console.Read()) != -1) {
Console.Write(Convert.ToChar(c));
}
Run Code Online (Sandbox Code Playgroud)
此外,C#本身与UNICODEC本身一起工作ASCII,即没有更多的含义.System.Char代表一个UCS-2 UNICODE字符,它也适合一个int,所以一切都会好的.