gpt4 book ai didi

c# - 隐式和显式类型转换的优点和缺点

转载 作者:行者123 更新时间:2023-11-30 22:10:26 26 4
gpt4 key购买 nike

我知道隐式和显式转换是什么。现在我有一个问题,我找不到满意的答案。

  1. 隐式转换相对于显式转换的优缺点是什么?

最佳答案

对于变量:

隐式转换使开发人员不必每次都提及类型。它对数字数据类型很有用:

Int32 integerNumber = 20;
Decimal decimalNumber = integerNumber; //It is OK

但是 - 你应该只在转换完全不同的类型时使用显式转换:

CustomString customString = "This is custom string";
//Int32 customStringLength = customString; //It is NOT OK
Int32 customStringLength = (Int32)customString; //It is OK

对于接口(interface):

interface IFooBar
{
void MakeABarrelRoll();
}

隐式接口(interface)实现允许所有代码“看到”它的方法:

class FooBar: IFooBar
{
public void MakeABarrelRoll()
{
//Make a barrel roll here
}
}

我们可以直接从对象中调用它:

FooBar foobar = new FooBar();
foobar.MakeABarrelRoll(); //Works

显式接口(interface)实现使其方法仅在对象被显式转换为接口(interface)时才打开。

class FooBar: IFooBar
{
public void IFooBar.MakeABarrelRoll()
{
//Make a barrel roll here
}
}

我们不能直接从对象中调用它:

FooBar foobar = new FooBar();
//foobar.MakeABarrelRoll(); //Does not work
((IFooBar)foobar).MakeABarrelRoll(); //Works

关于c# - 隐式和显式类型转换的优点和缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20823914/

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