c#属性的get和set的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#属性的get和set的用法相关的知识,希望对你有一定的参考价值。
class Person
public string Name
get
set
get后面的 里是什么,set后面的 又是什么?
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的用法的主要内容,如果未能解决你的问题,请参考以下文章