kenxy 发表于 2023-3-2 10:26

关于C#的属性

本帖最后由 kenxy 于 2023-3-2 10:27 编辑

public class ReceivePara: NotificationObject
    {

      private bool _IsText = true;

      public bool IsText
      {
            get => _IsText;
            set
            {
                _IsText = value;
                this.RaisePropertyChanged("IsText");
                if (value)
                {
                  TcpTextEncoding = Encoding.ASCII;
                }
            }
      }

请问 get=> _IsText;和 get {return _IsText;}有什么区别吗?

VS2015,windows10, dotnet4.81 ,编译时提示get=> _IsText;出错,换成get {return _IsText;}就可以

a952135763 发表于 2023-3-2 10:37

没有区别
高版本的C# 语法糖

icysky0605 发表于 2023-3-2 10:49

换个高版本的VS就好了。2022就可以混写。

Broadm 发表于 2023-3-2 11:17

没有区别, 箭头写法是新版本的语法而已

kenxy 发表于 2023-3-2 11:18

感谢大家的回复,谢谢各位高手。

pjy612 发表于 2023-3-2 12:12

没区别,语法糖...
不过 需要高版本VS支持

hrpzcf 发表于 2023-3-2 13:12

没区别,我用 vs2022 正常

fxyc87 发表于 2023-3-2 15:15

linq语法糖,VS2015就不要用了,太老了,要用就用最新版本的

greatzdl 发表于 2023-3-2 15:21

不会有区别

zxgamekingdom 发表于 2023-3-14 20:15

没有区别,执行的功能都是一样的。其实C#这门编程语言是有版本的。目前为止最新的C#语言版本为11.0。
VS2015支持的C#版本最高是6.0,你这个get=>语法也是6.0,但你的VS2015报错,要么就是你的VS2015版本太过早期,需要打补丁升级到VS2015的最后的版本。要么就是你在VS2015设置了C#的版本低于了6.0。
页: [1]
查看完整版本: 关于C#的属性