1.c#中跳出循环(return/break/continue)
return:跳出循环直到代码块结束;
break:跳出循环进行循环之后的代码;
continue:跳出当前次循环,进行新的下一次循环.
2.普通的方法函数只能返回一种类型的值(一个数值或一组数值)
(1)out:例如:int.tryparse:至少返回两种类型:一种是判断这个字符串是否能够转换成int类型的结果true/false,另一个数值是转换成int之后的整数.
方法中的out参数在方法体结束时,需要准备一个相同类型的变量接收out类型的结果,并且必须带out类型的关键字.
遇到方法中的形参是out或者ref类型,则在调用方法的时候同样实参也必须带有out或者ref关键字.
例:

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

namespace _05out
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入第一个数:");
            string str = Console.ReadLine();
            int num = -1;
            if (IsNum(str,out num))
            {
                Console.WriteLine("可转成数字:" + num);
            }
            Console.ReadLine();
        }
        /// <summary>
        /// 判断输入的这个字符串是否是整数
        /// </summary>
        /// <param name="str">输入的字符串</param>
        /// <param name="res">如果那个字符串能够能够转换成整数,则</param>
        /// <returns></returns>
        static bool IsNum(string str,out int res)
        {
            try
            {
                //如果传进去的字符串能转成数字,则转换成数字后装进res里面
                res = int.Parse(str);
                return true;
            }
            catch(Exception e)
            {
                //如果传进去的字符串不能转成数字,则给res赋予0
                res = 0;
                return false;
            }
        }
    }
}

(2)ref:引用传参
普通方法传参对基本参数没有影响,只有在方法中的某个地方采用参数值会发生改变,引用传参,传进方法中的参数,如果在方法内发生改变,那么这个参数变量将永久性发生改变.
例:

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

namespace _06ref_参数
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个数字");
            int i = int.Parse(Console.ReadLine());
            Console.WriteLine("输入的数值是:" + i);
            Add(ref i);
            Console.WriteLine("输入的数值是:"+i);
            Console.ReadLine();
        }
        static void Add(ref int num1)
        {
            Console.WriteLine("经计算之后的结果是:"+(++num1));
        }
    }
}

(3)params:可变参数(每个方法中只能有一个)
当方法中的形参为params类型时,必须保证形参是一位数组类型,当调用方法时候遇到params类型参数,我们可以传递一个相同类型的数组,也可以直接在调用方法时填入任意数量的这种类型的参数,方法执行时会自动将填入的所有的这种类型的参数转换为数组.
例:

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

namespace _07params
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Max(111, 123, 125, 146, 456, 789, 452, 113,4399,2525));
            Console.ReadLine();
        }
        static int Max(params int []array)
        {
            for (int i=0;i<array.Length-1;i++)
            {
                for (int j=0;j<array.Length-1- i;j++)
                {
                    if (array[j]>array[j+1])
                    {
                        int temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }
            }
            return array[array.Length - 1];
        }
    }
}
posted on 2019-01-30 11:50  豆皮没有豆  阅读(1704)  评论(0)    收藏  举报