博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 内部类使用接口IComparer实现排序
阅读量:4673 次
发布时间:2019-06-09

本文共 1819 字,大约阅读时间需要 6 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 内部类使用接口实现排序{    class Person    {        private string _name;        private int _age;        public Person(string name, int age)        {            _name = name;            _age = age;        }        public string Name        {            get { return _name; }        }        public int Age        {            get { return _age; }        }        private static AgeComparer _ageCom = null;   //仅是一个静态变量。        public static IComparer
AgeCom { get { if (_ageCom == null) //当第一次访问静态属性的时候,自动创建一个对象。 { _ageCom = new AgeComparer(); } return _ageCom; } } private class AgeComparer : IComparer
{ int IComparer
.Compare(Person x, Person y) { return x._age.CompareTo(y._age); } } } class Program { static void Main(string[] args) { Person[] p1 = new Person[5]; p1[0] = new Person("王亮", 27); p1[1] = new Person("张明敏", 21); p1[2] = new Person("孙晓峰", 28); p1[3] = new Person("赫敏", 25); p1[4] = new Person("刘铭", 23); foreach (Person p in p1) { Console.WriteLine(p.Name + " " + p.Age.ToString()); } Console.WriteLine("将对年龄进行排序并打印结果:"); Array.Sort(p1, Person.AgeCom); foreach (Person p in p1) { Console.WriteLine(p.Name + " " + p.Age.ToString()); } Console.ReadKey(); } }}

 

转载于:https://www.cnblogs.com/han1982/p/4129645.html

你可能感兴趣的文章
Android开发之蓝牙(Bluetooth)操作(一)--扫描已经配对的蓝牙设备
查看>>
查找路径php.ini文件到底在哪里?
查看>>
传统认知PK网络认知 刚子扯谈烤串认知
查看>>
字节数组java加密与解密
查看>>
矩形运算
查看>>
php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)
查看>>
使用HttpSessionListener接口监听Session的创建和失效
查看>>
Windows Phone XNAでアニメーション - ぐるぐる
查看>>
20181029 T2 寻宝游戏
查看>>
C++变量作用域、生存期、存储类别
查看>>
数据结构期末复习(四)
查看>>
最最简单的菜单代码
查看>>
js 俩组数据根据id合并
查看>>
POJ2987 Firing 最大权闭合图
查看>>
ItelliJ IDEA下载及获取注册码详解
查看>>
ASP.NET AjaxPro的应用 .AjaxPro使用中“XXX未定义”的一种解决方法(转载的)
查看>>
谷歌和HTTPS
查看>>
Linux 系统的IP与域名解析文件[局域网的DNS]
查看>>
各种实用类
查看>>
【LGP5161】WD与数列
查看>>