xiaolizi007
1/3/2017 - 1:57 PM

how to user index

index #csharp

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace index
{
    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();
            Console.WriteLine(person[11].name);
            Console.WriteLine(person["spiderMan"].age);
            Console.ReadKey();
        }
    }
    class Person
    {
        public List<Man> mans;
        public Person()
        {
            mans = new List<Man>()
        {
            new Man
            {
               age=10,
               name="spike"
            },
            new Man
            {
                age=11,
                name="spiderMan"
            },
            new Man
            {
                age=12,
                name="ironMnan"
            },
            new Man
            {
                age=13,
                name="spiderMan"
            }
        };
        }

        public Man this[int age] {
            get {
                foreach (var item in mans)
                {
                    if(item.age == age) return item;
                }
                return null;
            }
        }

        public Man this[string name]
        {
            get
            {
                foreach (var item in mans)
                {
                    if (item.name == name) return item;
                }
                return null;
            }
        }

    }
    class Man
    {
        public int age { get; set; }
        public string name { get; set; }
    }
}