.Net3.0中的自动属性(示例)

using System;



namespace LinqDemo

{



    class Program

    {

        static void Main(string[] args)

        {

            //传统用法示例

            Employee Emp = new Employee("Jimmy.Yang", 25);

            Console.WriteLine(Emp.ToString());



            Console.WriteLine("-------------------");



            //自动属性的写法

            NewEmployee NewEmp = new NewEmployee { Name = "Tom", Age = 30 };//感觉与Javascript中对象的JSON字符串表示法相似

            Console.WriteLine(NewEmp.ToString());



            Console.ReadLine();

        }       

    }





    /// <summary>

    /// 传统方式定义一个类

    /// </summary>

    public class Employee

    {

        private string _name = "Anonymous";

        private int _age = 0;



        public string Name 

        {

            get { return this._name; }

            set { this._name = value; }

        }



        public int Age 

        {

            get { return this._age; }

            set { this._age = value; }

        }



        public Employee() { }



        public Employee(string pName, int pAge) 

        {

            this._name = pName;

            this._age = pAge;

        }



        public override string ToString()

        {

            return "Name:" + this._name + " Age:" + this._age;

        }

    }





    /// <summary>

    /// .Net3.0自动属性的新写法

    /// </summary>

    public class NewEmployee

    {

        public string Name{get; set;}

        public int Age { get; set; }

        public override string ToString()

        {

            return "Name:" + this.Name + " Age:" + this.Age;

        }

    }

}

可以看出,.Net3.0的自动属性,可以使定义一个类的代码大大减化,个人感觉:这一点好象又是从Javascript中的JSON字符串表示法“偷”来的^_^,不信的话,可以参看以下Javascript代码:

<script type="text/javascript">

var Emp = {Name:"Jimmy.Yang",Age:30};



function ShowEmp(E)

{

    return "Name:" + E.Name + " Age:" + E.Age;

}



document.write(ShowEmp(Emp));



</script>

顺便发表一下个人感慨:微软确实很善于吸引他人长处

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

(Head First 设计模式)学习笔记(2) --观察者模式(气象站实例)

应用概述: 某气象站通过传感器实时测量气温/湿度/压力等数据,要求设计一个系统,能让多种类型的公告栏自动更新这些数据(本例中有二类公告板:实时显示气温/温度...

2005
来自专栏一个爱瞎折腾的程序猿

TagHelper+Layui封装组件之Radio单选框

1361
来自专栏木宛城主

曾经的代码系列——AJAX和JSON生成下拉列表框

代码测试使用 前台页面 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetGradeC...

1917
来自专栏Golang语言社区

厚土Go学习笔记 | 13. 用循环和函数 实现Sqrt(x)

利用前面学习的循环和函数,来实现 Sqrt(x)。并且与math.Sqrt(x)的结果做一下比较。 这个很有意思,所以,把中间不断带入的变化值都打印出来。 使用...

3556
来自专栏跟着阿笨一起玩NET

【经典示例分享】— 商城购物车设计(VS+Access)附源码

弹指一挥间,从事开发工作两年多了,工作记录文件夹不知不觉好几G了。今天分享下之前项目中用到的一个购物车示例,虽然用的技术比较老(拖放控件DataGview),我...

3732
来自专栏JadePeng的技术博客

使用贝叶斯做英文拼写检查(c#)

贝叶斯算法可以用来做拼写检查、文本分类、垃圾邮件过滤等工作,前面我们用贝叶斯做了文本分类,这次用它来做拼写检查,参考:How to Write a Spelli...

37613
来自专栏听雨堂

常用代码

图层 1、加载地图,选择图层    if(!Page.IsPostBack)    {     MapControl1.Map.Clear();     Map...

1949
来自专栏王磊的博客

Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载

MySqlHelper.cs代码如下: using System; using System.Collections.Generic; using System...

5429
来自专栏hbbliyong

.Net下SQLite的DBHelp

怎样获取SqLite请参考初识SqlLite ---.net连接数据库,怎样在SQLite使用Linq请参考在C#中利用Nuget包使用SQLite数据库和Li...

3094
来自专栏张善友的专栏

发布一个日期选择控件(ASPNET2.0)

The Coolest DHTML Calendar,这是一个在GPL下发布的JS日历程序,具有极高的可配置性,包括外观样式、显示格式、显示内容等等。默认程序...

2709

扫码关注云+社区

领取腾讯云代金券