2012-08-02 32 views
3
ShippingConfirmationLabel.Text = _ 
string.Format("Using {0} shipping to:<br>", _ 
ShippingTypeRadioButtonList.SelectedValue); 

然而,這工作得很好:如何使用續行符,在C#中的下劃線(_)

ShippingConfirmationLabel.Text = "Using " + ShippingTypeRadioButtonList.SelectedValue + " 
shipping to:<br>"; 

很抱歉,如果在搜索沒有具體這個問題已經被問早前然而想出了這個。由於某些原因,代碼不讓我在VS中編譯。

乾杯 安德魯

+0

可能會複製http://stackoverflow.com/a/4086203/1495442 – Ria 2012-08-02 08:33:23

+0

請參閱此屏幕截圖。我正在向MCTS學習,並在書中提供:http://www.flickr.com/photos/[email protected]/7696708028/ – Andrew 2012-08-02 08:33:39

+1

@Andrew這是您書中的錯誤;正如史蒂夫已經說過的那樣,沒有線條延續的特徵;此外,除非您在開頭雙引號前添加@,否則您的第二個示例將不會編譯(請參閱Ria評論的鏈接) – 2012-08-02 08:40:23

回答

7

C#中沒有Line Continuation Character像VB.NET一樣
在C#中存在;來界定指令的結尾。
這意味着不需要換行符,因爲直到達到冒號(「;」)纔會結束一行。

+是字符串連接運算符,它不意味着Line Continuation Character

ShippingConfirmationLabel.Text = 
      "Using " + 
      ShippingTypeRadioButtonList.SelectedValue + 
      "shipping to:<br>"; 

正如你所看到的,你可以在每一個你喜歡的(當然不是在關鍵字的中間或點斷行標識符)並用;終止符關閉它。

有時,出於易讀性或其他原因,您希望在不同的行上拆分單個字符串。
在這種情況下,您可以使用字符串連接運算符。

+0

嗨史蒂夫,明白了。讓我看看是否可以添加此屏幕截圖。 – Andrew 2012-08-02 08:30:25

+0

我已經從書中提出了一些s/s來向你展示我的意思。謝謝。 – Andrew 2012-08-02 08:36:36

2

C#沒有線延續。只需使用正常的換行符,代碼就可以正常工作。

與VB相比,C#使用;作爲語句終結符,它允許您在不指示代碼在下一行繼續代碼的情況下對代碼進行格式化。

_在C#中是一個普通字符,可用於變量名等。

+0

謝謝Dervall。 – Andrew 2012-08-02 08:36:00

+0

你不能只使用普通的換行符,並讓代碼工作得很好,編譯器不喜歡它,並給出錯誤'新行在常量'。 – chipples 2016-11-14 16:47:09

相關問題