Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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# 类型转换和解析之间的区别?_C#_Parsing_Casting - Fatal编程技术网

C# 类型转换和解析之间的区别?

C# 类型转换和解析之间的区别?,c#,parsing,casting,C#,Parsing,Casting,解析和类型转换之间的最大区别是什么? 我尝试对字符串使用类型转换,但它给了我错误 大概是这样的: string str = "10"; int i = (int) str; 要使类型转换工作,类型需要兼容: object str = 10; int i = (int) str; 解析是不同类型之间的转换: string str = "10"; int i = int.Parse(str); 当对象共享某个继承时,强制转换工作正常。但在你的情况下 int i = (int) str; 您正

解析和类型转换之间的最大区别是什么? 我尝试对字符串使用类型转换,但它给了我错误

大概是这样的:

string str = "10";
int i = (int) str;

要使类型转换工作,类型需要兼容:

object str = 10;
int i = (int) str;
解析是不同类型之间的转换:

string str = "10";
int i = int.Parse(str);

当对象共享某个继承时,强制转换工作正常。但在你的情况下

int i = (int) str;
您正在处理隐式自动转换。其中编译器将自动删除/丢失.NET内置类型。要获得完整的指南,请访问此处并查找


解析适用于两个不相关的对象,但有一种方法可以将一种方式转换为另一种方式。

这意味着我只能使用short、double、long等类型转换。如果要转换的类型与要转换的类型相同,则可以对任何类型使用类型转换。就解析而言,解析方法有不同的重载,允许您将字符串转换为整数、浮点、十进制……这只是一个后续问题,所以解析要好得多?这取决于您试图做什么。如果您需要将字符串转换为整数,而您没有选择权,则需要对其进行解析。
Int32.Parse(...