(c = getchar())!= C#中的EOF?

Fah*_*had 8 c c#

什么是以下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,这有什么意义?

Fré*_*idi 8

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,所以一切都会好的.