使用Int32.Parse

DNR*_*DNR 3 .net c# types

为什么需要将值(例如short)转换为string,然后转换为Int32.为什么它不能从short转换为Int 32?

Noo*_*ilk 8

甚至不需要任何形式的显式转换:

short s = 23;
int k = s;
Run Code Online (Sandbox Code Playgroud)

此外,任何数字文字(没有任何类型的后缀)无论如何都是int32s.

- 编辑

不需要显式强制转换的原因是因为a short总是小于a int,因此a short总是完全符合a 的大小int,因此不会丢失数据.