关于表达式主体的一个语法问题

ahking 2020-11-17 09:02:46
看微软示例:类属性可以这样写:


public int TemperatureC { get; set; }

public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);


public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
和这样写有什么区别
public int TemperatureF = 32 + (int)(TemperatureC / 0.5556);
...全文
5856 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hp_freya 2020-12-04
  • 打赏
  • 举报
回复
使用轻量级方法定义的属性是只读属性,不能修改属性值,字段可以修改。
hp_freya 2020-11-18
  • 打赏
  • 举报
回复
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);是C#7.0的新增语法,适用于方法和只读属性,是为轻量级方法提供的轻量级语法。 在此表示 public int TemperatureF { get { return 32 + (int)(TemperatureC / 0.5556;}}; public int TemperatureF = 32 + (int)(TemperatureC / 0.5556);就是定义有初始值的一个变量。
ahking 2020-11-18
  • 打赏
  • 举报
回复
这两种写法在外部调用时有影响么?
wanghui0380 2020-11-17
  • 打赏
  • 举报
回复
不纠结,不纠结。你在那里守那里的规矩。 在python里你就手动缩进 在dephil里你赋值就写 := 在php里遍地是 -> 在net里,也一样。他需要怎么样就怎么样。 public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 等于 public int TemperatureF { get { return 32 + (int)(TemperatureC / 0.5556;}} 也等于 privite readeronly int _TemperatureF=32 + (int)(TemperatureC / 0.5556; public int TemperatureF { get { return _ _TemperatureF;}} 所以怎么写其实都行,随意随意。不纠结
八爻老骥 2020-11-17
  • 打赏
  • 举报
回复
前者是函数调用,后者是赋值

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧