繁体   English   中英

将额外参数传递给C#中的string.Format()函数

[英]Passing extra argument to string.Format() function in C#

C#中的string.Format函数是否有传递和额外参数的副作用? 我正在查看MSDN上的string.Format函数文档( http://msdn.microsoft.com/en-us/library/b1csw23d.aspx ),但无法找到答案。

例如:-

string str = string.Format("Hello_{0}", 255, 555);

现在,你可以看到根据格式字符串,我们假设只传递一个参数,但我已经传递了两个。

编辑:我已经尝试过了,我的一切看起来都很好。 由于我是C#和C背景的新手,我只想确保它在以后的运行中不会引起任何问题。

在Reflector中,它将为构建字符串分配更多的内存,但是传入额外的对象没有大的反响。

还有“副作用”,如果你不小心在你的格式字符串中包含一个{n} ,其中n太大了,然后添加了一些备用参数,你就不会再得到一个例外但是得到一个带有意外项目的字符串。

如果您查看为string.Format提供的链接的例外部分

“格式项的索引小于零,或大于或等于args数组的长度。”

如果你有太多的参数,微软并没有表明它可以抛出,所以它不会。 由于无用的参数,效果是内存损失很小

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM