日期:2014-05-18 浏览次数:21372 次
        static void Main(string[] args)
        {
            int[] intArray = { 1, 3, 7, 12, 12, 6, 1, 8 };
            MyClass max = new MyClass(intArray[0]);
            MyClass min = new MyClass(intArray[0]);
            for (int i = 0; i < intArray.Length; i++)
            {
                int j = intArray[i];
                if (j > max.Value)
                {
                    max.Value = j;
                    max.Indexes.Clear();
                    max.Indexes.Add(i);
                }
                else if (j < min.Value)
                {
                    min.Value = j;
                    min.Indexes.Clear();
                    min.Indexes.Add(i);
                }
                else if (j == max.Value)
                    max.Indexes.Add(i);
                else if (j == min.Value)
                    min.Indexes.Add(i);
            }
            Console.WriteLine("最大值为:{0},索引为:", max.Value);
            foreach (int i in max.Indexes)
                Console.Write("{0} ", i);
            Console.WriteLine();
            Console.WriteLine("最小值为:{0},索引为:", min.Value);
            foreach (int i in min.Indexes)
                Console.Write("{0} ", i);
        }
        class MyClass
        {
            private int value;
            public int Value
            {
                get { return value; }
                set { this.value = value; }
            }
            private List<int> indexes;
            public List<int> Indexes
            {
                get { return indexes; }
                set { indexes = value; }
            }
            public MyClass(int value)
            {
                this.value = value;
                indexes = new List<int>();
                indexes.Add(0);
            }
        }
/*
输出:
最大值为:12,索引为:
3 4
最小值为:1,索引为:
0 6 
*/