c#属性的get和set的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#属性的get和set的用法相关的知识,希望对你有一定的参考价值。

class Person


public string Name

get



set




get后面的 里是什么,set后面的 又是什么?

参考技术A

get是获取、读取,set是设置。

当你调用该类的Name属性时就会自动调用属性里的get 来读取,当你设置Name属性时就会调用set 来完成

private string name;
public string Name

   get  return name; 
   set  name = "皇帝"; //我设置Name属性的默认值为 “皇帝”,


下面创建对象实例说明:
Person p = new Person();
p.Name= "哈";//设置p的Name属性为“哈”,然后就调用Person类Name属性里的set ,但是Person类的Name属性里set我改成了set  name = "皇帝"; ,所以p的Name属性就会都是“皇帝”

参考技术B

其实你可以这样写:

public string Nameget;set;

如果你没有在属性中对该字段做一些验证。

C# List 排序各种用法与比较

 

下面介绍各种List的sort的用法与比较

首先,我们建一个People的实体,有name、age、sex的属性,我们要排序的字段是年龄age

新建一个实体类

    public class People
    {
        public string name { get; set; }
        public int age { get; set; }
        public string sex { get; set; }
    }

新建list的数据

            List<People> peoples = new List<People>()
            {
                new People() {age = 11, name="alun", sex = ""},
                new People() {age=25, name = "陈敬桃", sex = ""},
                new People() {age=9, name = "惠安", sex = ""},
                new People() {age = 45, name = "小票", sex = ""},
                new People() {age=3, name = "晓鸥", sex = ""},
                new People() {age=70, name = "望谟", sex = ""}
            };

 

1. 第1种排序方法,使用 IComparer

    public class PeopleAgeComparer : IComparer<People>
    {
        public int Compare(People p1, People p2)
        {
            return p1.age.CompareTo(p2.age);
        }
    }

peoples.Sort(new PeopleAgeComparer());

可以看到第一种方法比价麻烦,要新建一个新的类来做

 

 

2. 第2种排序方法,使用委托来排序

peoples.Sort(delegate (People p1, People p2) { return p1.age.CompareTo(p2.age); });

看委托的方式很方便,不用新建类这么麻烦。

 

 

3. 第2种排序方法,使用Lambda表达式来排序

peoples.Sort( (a, b) => a.age.CompareTo(b.age) );

 

 

 

目测排序有这3种方法,个人觉得还是Lambda表达式使用得方便。

以上是关于c#属性的get和set的用法的主要内容,如果未能解决你的问题,请参考以下文章

C# List 排序各种用法与比较

c语言中get的用法

C#中的属性get和set到底是啥意思

程序中set和get的用法

php 中__set()和__get()的具体用法

php __set()和__get()的具体用法,举例说明,谢~