转换类型并获取c#

问题描述 投票:0回答:1

我想知道类定义部分中类型的转换。例如,是否可以在get / set部分中将long转换为十进制?

感谢

c# type-conversion getter-setter
1个回答
0
投票

只是cast

get => (decimal)someLong;

0
投票

是的,可以在C#代码的任何地方进行类型转换。如果属性get / set只能执行单个值的返回/赋值,则将不需要它们/您将根本没有机会编写它们。 C#团队会做到这一点,所以编译器会为您做为快捷方式

这里是一个例子:

private long _backingField = 0;
public decimal PropertyName{
  get{
    return Convert.ToDecimal(_backingField);
  }

}

对为什么要打扰的原因有些好奇;通过设置一个属性,您说的是“使用此属性的开发人员必须提供/期望一个十进制数-为什么然后将其存储在一个长整数中(反之亦然)-为什么不将其保留为提供的十进制数,并退还给它询问时为小数?

© www.soinside.com 2019 - 2024. All rights reserved.