• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

wayde


博客园    首页    新随笔    联系   管理    订阅  订阅
记录!总忘记IComparable的用法

总忘记IComparable的用法
记录一下!

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    
class Program
    
{
        
static void Main(string[] args)
        
{
            
//创建Person对象
            Person p1 = new Person("张三", 30, 3);
            Person p2 
= new Person("李四", 20, 1);
            Person p3 
= new Person("王五", 50, 2);

            
//创建类型为Person的对象集合
            List<Person> persons = new List<Person>();

            
//将Person对象放入集合
            persons.Add(p1);
            persons.Add(p2);
            persons.Add(p3);

            
foreach (Person p in persons)
            
{
                Console.WriteLine(p.Name); 
//输出次序为"李四"、"张三"、"王五"
            }



            
//按照默认规则对集合进行排序
            persons.Sort();
            
foreach (Person p in persons)
            
{
                Console.WriteLine(p.Name); 
//输出次序为"李四"、"张三"、"王五"
            }


            Console.Read();
        }

    }

}


class Person:IComparable<Person>
{
    
private string _name; //姓名
    private int _age; //年龄
    private int _num;

    
//创建Person对象
    public Person(string Name, int Age, int Sex)
    
{
        
this._name = Name;
        
this._age = Age;
        
this._num = Sex;
    }


    
//姓名
    public string Name
    
{
        
get { return _name; }
    }


    
//年龄
    public int Age
    
{
        
get { return _age; }
    }


    
/**//// <summary>
    
/// 
    
/// </summary>

    public int Num
    
{
        
get { return _num; }
    }


    
IComparable #region IComparable<Person> 

    
public int CompareTo(Person other)
    
{
        
return this.Num - other.Num;
    }


    
#endregion

}

posted on 2007-11-23 18:31  wayde  阅读(523)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3