为什么使用 Convert.ToString 不起作用,但使用 new string 却可以?
我正在尝试编写一个接受字符串并将其反转的程序,在网上查看后我想到了这个解决方案,
password = new string(password.ToCharArray().Reverse<char>().ToArray());
我的问题是,为什么“新字符串”返回正确的答案,但“Convert.ToString”却没有返回正确的答案t,我知道它们之间存在差异,并且我正在努力学习这种差异,以便我可以提高作为一名程序员的水平。
I am trying to write a program that takes in a string and reverses it, and after looking online I came up upon this solution,
password = new string(password.ToCharArray().Reverse<char>().ToArray());
My question is, why does 'new string' return the correct answer, but 'Convert.ToString' doesn't, I know there is a difference between them and I'm trying to learn that difference so I can improve as a programmer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这部分代码返回一个字符数组(char[]):
在字符串文档中:
您可以看到“String(Char[])”,这意味着 String 对象可以采用 char 数组作为参数
如果您看看Convert.ToString 的 MSDN 文档: https ://learn.microsoft.com/en-us/dotnet/api/system.convert.tostring?view=net-6.0
可以看到Convert的ToString方法不接受char数组作为可能的 范围。
这就是 new string 有效而不是 Convert.ToString() 的原因。
This part of your code is returning a char array (char[]):
In the String documentation :
You can see "String(Char[])" meaning the String object can take a char array as a parameter
If you look at the MSDN Documentation of Convert.ToString : https://learn.microsoft.com/en-us/dotnet/api/system.convert.tostring?view=net-6.0
You can see that the method ToString of Convert does not accept a char array as a possible parameter.
That's why new string works and not Convert.ToString().