IComparable<>,IFormattable,IEnumerable<>接口使用-阿里云开发者社区

开发者社区> shy丶gril> 正文

IComparable<>,IFormattable,IEnumerable<>接口使用

简介:
+关注继续查看

1 Racer类

    [Serializable]
    public class Racer : IComparable<Racer>, IFormattable
    {   
                
        public Racer(string firstName = null, string lastName = null, string country = null,
            int starts = 0, int wins = 0, IEnumerable<int> years = null, IEnumerable<string> cars = null)
        {
            this.FirstName = firstName;
            this.LastName = lastName;
            this.Country = country;
            this.Starts = starts;
            this.Wins = wins;
            var yearList = new List<int>();
            foreach (int year in years)
            {
                yearList.Add(year);
            }
            this.Years = yearList.ToArray();

            var carList = new List<string>();
            foreach (string car in cars)
            {
                carList.Add(car);
            }
            this.Cars = carList.ToArray();
        }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Country { get; set; }
        public int Starts { get; set; }
        public int Wins { get; set; }
        public int[] Years { get; private set; }
        public string[] Cars { get; private set; }

        public int CompareTo(Racer r)
        {
            if (r == null) throw new ArgumentNullException("r");
            return this.LastName.CompareTo(r.LastName);
        }

        public override string ToString()
        {
            return string.Format("{0} {1}", FirstName, LastName);
        }

        public string ToString(string format)
        {
            return ToString(format, null);
        }

        public string ToString(string format, IFormatProvider formatProvider)
        {
            switch (format)
            {
                case "L":
                    return LastName;
                case "F":
                    return FirstName;
                case "C":
                    return Country;
                case "W":
                    return Wins.ToString();
                case "S":
                    return Starts.ToString();
                default:
                    throw new FormatException(string.Format("format:{0} not supported!", format));
            }
        }
    }



2 Team类

    public class Team
    {
        public Team(string name, params int[] years)
        {
            this.Name = name;
            this.Years = years;
        }

        private string Name { get; set; }
        private int[] Years { get; set; }
    }

3 初始化

            Racer racer = new Racer("Nino", "Farina", "Italy", 33, 5,
                new int[] { 1950 }, new string[] { "Alfa Romeo", "Maserati" });
            Team team1 = new Team("Vanwall", 1955);
            Team team2 = new Team("Cooper", 1959, 1960);


转载:http://blog.csdn.net/foreverling/article/details/38405621

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
接口测试从未如此简单 - Postman (Chrome插件)
原文:接口测试从未如此简单 - Postman (Chrome插件) 接口测试从未如此简单 - Postman (Chrome插件)  一个非常有力的Http Client工具用来测试Web服务的, 我这里来介绍如何用它测试restful web service 注:转载请注明出处    安...
1150 0
免费物流快递单号查询API接口及使用教程
因为需要对接物流/快递公司接口,时常会陷入选择服务商的困境,这次我整理了市场上几乎所有主流的物流/快递api接口,并且按照支持数量、接口的丰富性/稳定性/即时性,以及价格等因素,对各大服务商做了一个评级。
5400 0
接口的使用|学习笔记
快速学习接口的使用
8 0
Callable接口探究
Callable接口探究
8 0
TypeScript入门第一天,所有类型+基础用法+接口使用
TypeScript入门第一天,所有类型+基础用法+接口使用
10 0
如何使用IPortable接口?
DNN编译出错: Description: An error occurred during the compilation of a resource required to service this request.
704 0
+关注
1878
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载