我对C#非常不熟悉,我正在尝试理解一些我需要使用的源代码。我做了一些谷歌搜索,但我在这一点上画了一个空白。看起来这个语句似乎正在取两个对象的toString()
并将它们分开......得到一个数值???这甚至有意义吗?
return string.Format("{0}/{1}", base.GetType().FullName, this.Operation);
事实证明,操作是一个字符串operation == "Write"
我想我知道base.GetType()
答案 0 :(得分:1)
{0}说“把第一件事放在参数列表中”,{1}是下一个项目,依此类推。所以string.Format()与:
相同return string.Concat(base.GetType().FullName, "/", this.Operation);
它不是要分割任何东西或者返回一个数字,C#对你来说并不是那么好。无论何时你想得到一个数字,你都要告诉C#解析它。
答案 1 :(得分:1)
我认为它不会分裂,但会生成一个由字符/
分隔的两个对象(作为字符串)组成的新字符串。
如果base.GetType().FullName() == "MyType"
,则结果将为字符串"MyType/Write"
。
答案 2 :(得分:1)
String.Format仅用参数的字符串值替换{0}和{1}占位符(因此FullName和Operation值)。它不会像分割这两个值那样做任何算术,即使它们最初是整数。
答案 3 :(得分:0)
它所做的就是返回一个格式化的字符串,其中{0},{1}等等被参数值替换,例如:
System.String/Write