二种艺术找到整型阵列中的最大值和纤维值,Foreach循环输出索引值

ca88会员登录中心 22
ca88会员登录中心

循环输邮索引值,使用for是没有任何问题:

在整型阵列中,我们需要从中获取阵列元素的最大值和最小值:

ca88会员登录中心 1

方法一:先是使用Array进行排序,然后从排序后数组中,最一个元素为最小,最后一个元素为最大。
ca88会员登录中心 2

 

 

ca88会员登录中心 3ca88会员登录中心 4

ca88会员登录中心 5ca88会员登录中心 6

 class Bh
    {
        public string[] str { get; set; }

        public void TestFor()
        {
            for (int i = 0; i < str.Length; i++)
            {
                Console.WriteLine("index:{0},Value:{1}", i, str[i]);
            }
        }
    }
public static int FindMaxNumber(params int[] stringValue)
        {           
            Array.Sort(stringValue);
            return stringValue[stringValue.Length -1];
        }

        public static int FindMinNumber( params int[] stringValue)
        {           
            Array.Sort(stringValue);
            return stringValue[0];
        }

Source Code

Source Code

 

方法二:此方法是宣告一个变量,变量的值为阵列中第一个元素值。然后从第二个元素开始循环,并与变量比较。
求最大元素,如果所比较的值大小于变量,就把元素的值赋给变量。
求最小元素与求最大值正好相反,所比较的值小于变量,就把所比较的值赋给变量。

运行程序:

ca88会员登录中心 7

ca88会员登录中心 8

ca88会员登录中心 9ca88会员登录中心 10

 

     public static int FindMaxNumber(params int[] intArray)
        {
            int v = intArray[0];
            if (intArray.Length > 1)
            {
                for (int i = 2; i < intArray.Length; i++)
                {
                    if (intArray[i] > v)
                        v = intArray[i];
                }
            }
            return v;
        }

        public static int FindMinNumber(params int[] intArray)
        {
            int v = intArray[0];
            if (intArray.Length > 1)
            {
                for (int i = 2; i < intArray.Length; i++)
                {
                    if (intArray[i] < v)
                        v = intArray[i];
                }
            }
            return v;
        }       

但是,某一情况之下,你在程序中,是使用foreach方法进行循环的,但又想输出索引的话,那怎样实现呢?
ca88会员登录中心 11

Source Code

 

 

ca88会员登录中心 12ca88会员登录中心 13

方法三:
ca88会员登录中心 14

class Bh
    {
        public string[] str { get; set; }

        public void TestFor()
        {
            for (int i = 0; i < str.Length; i++)
            {
                Console.WriteLine("index:{0},Value:{1}", i, str[i]);
            }
        }

        public void TestForeach()
        {
            int idx = 0;
            foreach (string s in str)
            {
                Console.WriteLine("index:{0},Value:{1}", idx, s);
                idx++;
            }
        }
    }

 

ca88会员登录中心,Source Code

ca88会员登录中心 15ca88会员登录中心 16

再次运行,结果可见:
ca88会员登录中心 17

 public static int FindMaxNumber(params int[] intArray)
        {
            return intArray.Max();
        }

        public static int FindMinNumber(params int[] intArray)
        {
           return intArray.Min();
        }

 

Source Code

三种方法均演示:
ca88会员登录中心 18

 

ca88会员登录中心 19ca88会员登录中心 20

  static void Main(string[] args)
        {
            int[] value = { 15, 23, 41, 97, 100, 27, 67, 51 };

            Console.WriteLine("Class3:");
            Console.WriteLine("Max: {0}",Class3.FindMaxNumber(value));          
            Console.WriteLine("Min: {0}",Class3.FindMinNumber(value));

            Console.WriteLine("Class4:");
            Console.WriteLine("Max: {0}", Class4.FindMaxNumber(value));
            Console.WriteLine("Min: {0}", Class4.FindMinNumber(value));

            Console.WriteLine("Class5:");
            Console.WriteLine("Max: {0}", Class5.FindMaxNumber(value));
            Console.WriteLine("Min: {0}", Class5.FindMinNumber(value));
        }

Source Code

执行结果:
ca88会员登录中心 21

 

下列内容于2017-12-06
10:20分更新:
以上有Class4类别有点问题,我们从第2个元素循环,但它的索引是从0开始,第二个元素的索引就是1,循环所有元素才是较安全的:

ca88会员登录中心 22

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图