asp.net get set用法第1/2页

 更新时间:2008年05月01日 09:42:15   作者:  
属性的定义和使用 属性由两个部分组成:属性头和存储器。存储器分为get访问器和set访问器。声明属性的一般形式为: 修饰符 类型 属性名
在早期学习c#的过程中,经常遇到这样的语句:
public string StudentName
{
           get{return stuName;}
           set{stuName=value;}
}
       当时也不是很明白为什么要这样?学深了c#后,又没法对其做一个总结。今天看了《Visual c#.net程序设计教程》这本书,总结得不错,做下笔记:

       在许多面向对象程序设计语言中,属性(property)是指对象的特征和状态,具体地说就是指对象的数据成员。程序员可以指定数据成员能否被外界直接访问,如果数据成员被指定为public的,外界就可以用“对象名.公有数据成员名”访问该成员。c#是完全面向对象的语言,c#倡导一种新途径,对数据成员能够更好地封装和保护,同时又向外界提供更有效的访问形式。c#中用来达到这个目标的就是“属性”,而那些数据成员,在c#中称为“字段”或“域”。

属性的定义和使用
属性由两个部分组成:属性头和存储器。存储器分为get访问器和set访问器。声明属性的一般形式为:
修饰符  类型  属性名
{
     get   //get存取程序
     {...}
     set   //set存取程序
     {...}
}
       属性的修饰符可以是任何访问控制符,还可以被定义为静态。get和set是一种特定的方法,get用来从对象中读取数据,而set用来向字段写入数据,将外界的数据写入字段时,c#使用value表示输入的数据,value可以说是一个准关键字,例如:
set{aField=value;}
以下是一个简单的例子,演示了属性的基本形式和用法:
using System;
using System.Collections.Generic;
using System.Text; 
namespace 属性的用法
{
    public class Student
    {
        private string stuName = "阿会楠";
        public string studentName
        {
            get { return stuName; }
            set { stuName = value; }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Student stu = new Student();
            Console.Write(stu.studentName);
            Console.ReadKey();
        }
    }
}

       上面代码中定义了一个属性studentName,它包含get访问器和set访问器。属性studentName封装了类Student中的字段stuName,字段如果没有加访问控制符,被默认为private,外界不能直接访问它,现在外界可以通过studentName属性自由地存取stuName字段了。

       属性的get和set都是可执行的程序语句组合,具有行为的特点;而使用具有get访问器和set访问器的属性时候就像使用字段一样,即可以作为左值接受数据,又可以作为右值输出数据,系统正是按照属性出现在语句中的位置,自动地选择是调用get还是调用set。

相关文章

  • asp.net core中灵活的配置方式详解

    asp.net core中灵活的配置方式详解

    这篇文章主要给的阿加介绍了关于在asp.net core中灵活的配置方式的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • GridView自动增加序号(三种实现方式)

    GridView自动增加序号(三种实现方式)

    第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了,第二种方式分页时进行了计算,这样会累计向下加,点三种放在cs代码中
    2013-04-04
  • asp.net运行原理 详解

    asp.net运行原理 详解

    当我们通过浏览器向ASP.NET 2.0网站的一个asp.net页面发起请求时,在服务器端首先是IIS收到请求,IIS一看是asp.net页面,心里很开心,因为这个请求不用它处理,交给ASP.NET ISAPI就行了
    2012-04-04
  • .NET使用原生方法实现文件压缩和解压的详细过程

    .NET使用原生方法实现文件压缩和解压的详细过程

    这篇文章主要介绍了.NET使用原生方法实现文件压缩和解压,本文我们主要讲的是如何使用.NET原生方法System.IO.Compression命名空间中的类来对文件和文件夹进行压缩或解压缩(压缩格式.zip文件格式),需要的朋友可以参考下
    2024-06-06
  • ASP.NET Core自定义中间件如何读取Request.Body与Response.Body的内容详解

    ASP.NET Core自定义中间件如何读取Request.Body与Response.Body的内容详解

    这篇文章主要给大家介绍了关于在ASP.NET Core自定义中间件中如何读取Request.Body与Response.Body的内容,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • asp.net实现Postgresql快速写入/读取大量数据实例

    asp.net实现Postgresql快速写入/读取大量数据实例

    本篇文章主要介绍了asp.net实现Postgresql快速写入/读取大量数据实例,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • ASP.NET的适配器设计模式(Adapter)应用详解

    ASP.NET的适配器设计模式(Adapter)应用详解

    有关设计模式的适配器模式(Adapter)确实不是很好理解理解,接下来将做一个简单的例子简要说明下,感兴趣的朋友可不要错过了哈,希望本文可以帮助到你更好的理解适配器设计模式
    2013-02-02
  • 用ASP.NET实现简单的文字水印

    用ASP.NET实现简单的文字水印

    用ASP.NET实现简单的文字水印...
    2006-09-09
  • Visual Studio 2017 (VS 2017)离线安装包制作方法

    Visual Studio 2017 (VS 2017)离线安装包制作方法

    这篇文章主要为大家详细介绍了Visual Studio 2017离线安装包的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • ASP.NET MVC下的四种验证编程方式[续篇]

    ASP.NET MVC下的四种验证编程方式[续篇]

    ASP.NET MVC支持四种服务端验证的编程方式(“手工验证”、“标注ValidationAttribute特性”、“让数据类型实现IValidatableObject或者IDataErrorInfo”),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支持的呢?本篇文章就来聊聊这背后的故事。
    2016-12-12

最新评论