对于C#.NET中不兼容的类型转换,我应该在哪里调用打印函数?
下面的C#.NET代码的哪一行是打印(对于C#.NET中不兼容的类型转换,我应该在哪里调用打印函数?,c#,C#,下面的C#.NET代码的哪一行是打印(Console.WriteLine())不兼容类型转换输出的最佳方式: string Start = "2757457"; int Middle = Convert.ToInt32(Start); // is it: Console.WriteLine(Middle) int End = int.Parse(Start); // or is it: Console.WriteLine(End) 我认为您的问题与打印到控制台无关,与是否使用Parse或Con
Console.WriteLine()
)不兼容类型转换输出的最佳方式:
string Start = "2757457";
int Middle = Convert.ToInt32(Start); // is it: Console.WriteLine(Middle)
int End = int.Parse(Start); // or is it: Console.WriteLine(End)
我认为您的问题与打印到控制台无关,与是否使用
Parse
或Convert
无关。假设这是正确的,那么您可能会发现下面的Convert、Parse和TryParse
细分适用。如果不正确,请澄清,我将编辑我的答案或删除(如适用)
Parse
获取一个字符串并(假设它是一个数字)输出与之等价的数字。如果值为null,而不是数字,或超出Int的最小/最大范围,则会引发异常
Convert.ToInt32
获取一个字符串并(假设它是一个数字)检查它是否为空。如果为null,则返回0,否则调用Parse
TryParse
接受字符串,如果不是数字,则返回false。如果它是一个数字,它将返回true。如果为null,它将在out参数中返回0(但作为主要返回值返回false)。如果它是一个数字,它将返回该数字作为输出参数。您能澄清这个问题吗?什么是不兼容启动?哇!我把代码贴错了,很抱歉。你问什么还不清楚。您可以通过控制台.WriteLine
打印这些值中的任何一个。你的目标是什么?到目前为止,您尝试了什么?我的意思是当前使用Console.WriteLine
方法。它们都能工作,但我想知道哪一个最好使用(Middle
或End
)。抱歉搞混了!感谢您的澄清,看起来像是Convert.ToInt32
可能是我最好的选择(遵循一个小课程,该课程没有解释任何特定代码的含义)。实际上,TryParse几乎总是最好的解决方案(它不会通过错误输入的异常)。使用如下代码:if(!int.TryParse(myString,out int intValue){/*请对无法解析它的事实做些处理*/}同意@Flydog57。如果您接受用户输入并转换它,请始终使用TryParse。Parse和/或Convert.ToInt32只有在您确定传入的内容将是字符串形式的数字时才有效。感谢您的帮助,以后将使用它。