黑马程序员技术交流社区

标题: C# 数组作为返回值输出 [打印本页]

作者: 李晓泉    时间: 2013-3-13 19:51
标题: C# 数组作为返回值输出
一个数组里的奇数读出来放到另一个数组里返回,main函数里调用返回的值输出,怎么重新弄一个数组,况且新数组长度不确定
作者: 朱京辉    时间: 2013-3-13 20:54
可以使用arry数组,动态数组,动态增长
作者: 宋健    时间: 2013-3-13 21:31
如果数组长度不确定,建议用泛型集合,下面是实现的代码:
     /// <summary>
        /// 如果数组长度不一定,建议用List
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            int[] strNew = GetOdd(nums);
            foreach (var item in strNew)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();

        }

        public static int[] GetOdd(int[] nums)        
        {
            List<int> oddList = new List<int>();//创建List存储不定长度的数组
            for (int i = 0; i < nums.Length; i++)
            {
                if (nums[i] % 2 != 0)
                {
                    oddList.Add(nums[i]);
                }
            }
            int[] numsNew = oddList.ToArray();
            return numsNew;
        }
作者: 边亮    时间: 2013-3-13 21:47
方法中用数组可以使用parmas修饰 表示可变数组
作者: 天行    时间: 2013-3-13 22:18
不用泛型来解决 变向确定数组的个数 不知意下何如
            int[] arr = { 1, 2, 5, 4, 8, 9, 44 };
            int n = 0;
            //确定数组的个数
            foreach (int i in arr)
            {
                if (i % 2 != 0)
                {
                    n++;
                }
            }
            //放奇数的数组
            int[] arr2 = new int[n];
            int m = 0;
            foreach (int j in arr)
            {
                if (j % 2 != 0)
                {
                    arr2[m] = j;
                    m++;
                }
            }
            foreach (int t in arr2)
            {
                Console.WriteLine(t);
            }
            Console.ReadKey();




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2