gpt4 book ai didi

c# - C# 中的类型转换

转载 作者:IT王子 更新时间:2023-10-29 04:51:37 27 4
gpt4 key购买 nike

什么是类型转换,有什么用?它是如何工作的?

最佳答案

转换通常是告诉编译器虽然它只知道一个值是某种通用类型,但您知道它实际上是更具体的类型。例如:

object x = "hello";

...

// I know that x really refers to a string
string y = (string) x;

有多种转换运算符。 (typename) 表达式 形式可以做三件不同的事情:

  • 拆箱转换(例如,从装箱整数到 int)
  • 用户定义的转换(例如,将 XAttribute 转换为 string)
  • 类型层次结构中的引用转换(例如,将 object 转换为 string)

所有这些都可能在执行时失败,在这种情况下将抛出异常。

另一方面,as 运算符从不抛出异常 - 相反,如果转换失败,转换结果为 null:

object x = new object();
string y = x as string; // Now y is null because x isn't a string

它可用于拆箱为可为 null 的值类型:

object x = 10; // Boxed int
float? y = x as float?; // Now y has a null value because x isn't a boxed float

还有隐式转换,例如从 intlong:

int x = 10;
long y = x; // Implicit conversion

这是否涵盖了您感兴趣的所有内容?

关于c# - C# 中的类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339482/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com