2014-08-29 74 views
-3

我對C#很不熟悉,我試圖理解我需要使用的一些源代碼。我已經做了一些谷歌搜索,但我在這一個空白。它幾乎看起來像這個陳述是採取兩個對象的toString(),並將它們分開...爲數值?這甚至有意義嗎?string.Format - 劃分兩個對象?

return string.Format("{0}/{1}", base.GetType().FullName, this.Operation); 

操作,事實證明,是一個字符串operation == "Write"

我想我知道base.GetType()

類型
+5

您能否提供操作結果並說明不清楚的地方。到目前爲止,它看起來像你認爲'string.Format(「帶我啤酒」)'應該立即出現在桌子上的玻璃啤酒... – 2014-08-29 20:41:39

回答

1

{0}說「把第一件事就是參數列表在這裏」, {1}是下一個項目,依此類推。這樣的String.format()是一樣的:

return string.Concat(base.GetType().FullName, "/", this.Operation); 

這不是企圖分裂任何東西,或返回一個數字,C#是不是這樣對你真好。只要你想得到一個數字,你就必須告訴C#來解析它。

+1

謝謝。我的下一個問題是,如果它們最初是數字,它是否會進行算術運算,但是它會回答它。 – NonSecwitter 2014-08-29 20:47:33

0

它所做的就是返回一個格式化的字符串,其中{0},{1}等被取代的參數值,例如:

System.String/Write 
1

我認爲它不劃分而生成一個新的字符串由字符/分隔的兩個對象(字符串)組成。

如果base.GetType().FullName() == "MyType",那麼結果將是字符串"MyType/Write"

1

String.Format僅將參數的字符串值(即FullName和Operation值)替換爲{0}和{1}佔位符。它不會像分割兩個值那樣進行任何算術運算,即使它們最初是整數。