据我了解,这段代码:
Microsoft.VisualBasic.StrDup(3, "123")
应该返回123123123
。相反,它返回111
,就好像它正在处理一个错误的重载StrDup
(一个接受char
)。如果这是设计使然,是否有任何内置功能可以做到这一点?
根据 MSDN,StrDup
只选择第一个字符,无论您指定 aChar
还是 a String
:
字符 - 必需。任何有效的 Char、String 或 Object 表达式。只会使用表达式的第一个字符。如果 Character 是 Object 类型,则它必须包含 Char 或 String 值。
StrDup
对字符串做的最好的方法是:
String.Join("", Enumerable.Repeat("123", 3))