类对象基础知识之查漏补缺

1、构造函数

pubic Student(int stuId, string stuName)

{

    studentId = stuId;

    stuName = stuName;

}

public Student(int stuId, string stuName, int age):this(stuId, studName)//this() 调用自身其他构造函数

{

    age = age;

}

2、对象实现了IDispose接口之后才能使用using,实现使用之后立即清理

3、值类型转换成object 装箱

    object转换成值类型  拆箱

4.集合中对象的排序

    如要实现集合的排序,则对象要继承ICompare接口

 class Student:IComparable<Student>
    {
        public int StudentId { get; set; }
        public string StudentName { get; set; }


        public int CompareTo(Student other)
        {
           return this.StudentId.CompareTo(other.StudentId);//升序排序
            //return other.StudentId.CompareTo(this.StudentId);//降序排序
        }

    }

sort方式会自动调用这个接口

5、集合的多种排序方式

    

    class Student:IComparable<Student>//默认排序
    {
        public int StudentId { get; set; }
        public string StudentName { get; set; }


        public int CompareTo(Student other)
        {
           return this.StudentId.CompareTo(other.StudentId);//升序排序
            //return other.StudentId.CompareTo(this.StudentId);//降序排序
        }

    }

//多种排序,可以替换上面的方法,并且可以动态排序

    class StudentIdASC : IComparer<Student>
    {
        public int Compare(Student x, Student y)
        {
            return x.StudentId.CompareTo(y.StudentId);
        }
    }
    class StudentIdDESC : IComparer<Student>
    {
        public int Compare(Student x, Student y)
        {
            return y.StudentId.CompareTo(x.StudentId);
        }
    }
    class StudentNameASC : IComparer<Student>
    {
        public int Compare(Student x, Student y)
        {
           return x.StudentName.CompareTo(y.StudentName);
        }
    }
    class StudentNameDESC : IComparer<Student>
    {
        public int Compare(Student x, Student y)
        {
            return x.StudentName.CompareTo(y.StudentName);
        }
    }

list.Sort(new StudentNameDESC());//list是student对象的集合,参数是接口的实现类对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值