Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于C#.NET中不兼容的类型转换,我应该在哪里调用打印函数?_C# - Fatal编程技术网

对于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

下面的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
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只有在您确定传入的内容将是字符串形式的数字时才有效。感谢您的帮助,以后将使用它。