这是我的片段:
var country = BLLocations.Instance.GetCountries();
ddlCountry.DataSource =
ddlCountry.DataTextField = "Country";
ddlCountry.DataValueField = "CountryCode";
ddlCountry.DataBind();
见第二行:
ddlCountry.DataSource =
它编译成功并发布到云端。奇怪的!
这是我的片段:
var country = BLLocations.Instance.GetCountries();
ddlCountry.DataSource =
ddlCountry.DataTextField = "Country";
ddlCountry.DataValueField = "CountryCode";
ddlCountry.DataBind();
见第二行:
ddlCountry.DataSource =
它编译成功并发布到云端。奇怪的!
就是这样:
ddlCountry.DataSource = ddlCountry.DataTextField = "Country";
换行不起作用,这是一个有效的代码。
就像:
var x = 2;
var y = 3;
x = y = 1000;
(请注意,这根本不是一个好习惯!它令人困惑且难以反感)
C# 中的每个代码都返回一个值(尽管该值可以为 void),它允许您执行此延迟加载:
return x ?? x = new ExpensiveObject();//
它能做什么:
new ExpensiveObject()
并返回分配值 - x。有用的功能,但要小心。
这是可以接受的,就像您可以拥有:
a = b = c;
我很惊讶虽然由于类型的原因没有警告。ddlCountry.DataSource 和 ddlCountry.DataTextField 必须是我认为的相同类型。
在这种情况下,编译器会忽略空格,因为它在语法上无关紧要。更具体地说,这是由预处理器完成的。
在 C# 中,与许多其他语言一样,语句由;
字符分隔,而不是由换行符分隔。因此写作:
var someString =
"SomeValue";
完全没问题。
您的代码段与
ddlCountry.DataSource = "Country";
ddlCountry.DataTextField = "Country";