ab(= 100)将在C#中编译吗?

Spo*_*nts 1 c# compilation

using system;

class Program
{
public static void main()
 {
  int a = 200,b;
  a-(b=100);
 }
}
Run Code Online (Sandbox Code Playgroud)

上述程序是否发出错误?如果是这样,为什么?我不在可以执行代码的环境中.

Kob*_*obi 5

即使没有(本地)编译器,您也可以检查:

http://ideone.com/m3qJ2

prog.cs(8,4):错误CS0201:只能将赋值,调用,递增,递减和新对象表达式用作语句编译失败:1个错误,0个警告

这是我编写代码的最接近的地方 - http://ideone.com/FPZJq:

using System;

class Program
{
public static void Main()
 {
  int a = 200,b;
  int c = a-(b=100);
 }
}
Run Code Online (Sandbox Code Playgroud)

错误:

  • a-(b=100)不是C#中的有效语句.许多语言允许这样的空语句(例如2;),但不允许这样.
  • using system; 应该写成 using System;
  • main 应该写成 Main

回答你的问题:你的代码没有给出运行时错误 - 它甚至都没有效.但是,它会产生一些编译错误.