2014-08-29 77 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}占位符。它不会像分割两个值那样进行任何算术运算,即使它们最初是整数。