1

これが私のスニペットです:

var country = BLLocations.Instance.GetCountries();
ddlCountry.DataSource = 
ddlCountry.DataTextField = "Country";
ddlCountry.DataValueField = "CountryCode";
ddlCountry.DataBind();

2行目を参照してください。

ddlCountry.DataSource = 

そして、それは正常にコンパイルされ、クラウドにも公開されました。変!

4

3 に答える 3

10

それは単にこれです:

ddlCountry.DataSource =  ddlCountry.DataTextField = "Country";

改行は影響しません。これは有効なコードです。

と同じように:

var x = 2;
var y = 3;
x = y = 1000;

(これは実際にはまったく良い習慣ではないことに注意してください!混乱し、嫌悪感を覚えるのは難しいです)

C#のすべてのコードは、この遅延読み込みを実行できる値を返します(ただし、値は無効にすることができます)。

return x ?? x = new ExpensiveObject();//

内容:

  1. xがnullでない場合、xを返します。
  2. xがnullの場合、xを割り当てnew ExpensiveObject()、割り当て値--xを返します。

便利な機能ですが、注意してください。

于 2013-01-02T11:46:16.157 に答える
2

あなたが持つことができるときのように、それは受け入れられます:

a = b = c;

種類の関係で警告が出ないのには驚きました。ddlCountry.DataSourceとddlCountry.DataTextFieldは、私が思うに同じタイプである必要があります。

このインスタンスでは、構文的に重要ではないため、コンパイラは空白を無視します。より具体的には、これはプリプロセッサによって行われます。

于 2013-01-02T11:46:33.540 に答える
0

C#では、他の多くの言語と同様に、ステートメントは改行文字ではなく;文字で区切られます。したがって、次のように記述します。

var someString =


"SomeValue";

完全に大丈夫です。

スニペットは次のように動作します

ddlCountry.DataSource = "Country";
ddlCountry.DataTextField = "Country";
于 2013-01-02T11:47:31.783 に答える