首页 > 代码库 > 函数和常用类

函数和常用类

函数:能够独立完成某个功能的模块。
好处:1.结构更清析(编写、维护方便 )。2.代码重用。3.分工开发。
四要素:名称,输入(参数),输出(返回的类型),加工(函数体)
语法:
返回类型 函数名(参数类型 参数名,....)
{
 函数体
}

函数调用:[数据类型 变量名 = ]函数(参数);

函数调用时:调用的参数和函数定义的参数保持一对待:个数,类型,对应。

形参:形式参数。——函数定义的参数。

实参:实际参数。——函数调用的参数。

实参:实际参数。——函数调用的参数。

实参、形参传值的规律——传值,传址。

传值:参于整型、浮点、bool、char这几种内建类型在函数传递参数的时候,默认都是传值。

传值是把实参做一个副本(copy)传递给形参。

m = 30;
Add(m);
static void Add(int a)
{
    a += 20;
}

传址:默认情况下,数组就是传地址,字符串也是传地址。
对于内建的整型、浮点、bool、char这些类型,如果要变成传址的话,需要在前面加ref

m = 30;
Add(ref m);
static void Add(ref int a)
{
    a += 20;
}

对于传值和传址大家要记住 :

1.什么是传值,什么是传址?这个要分清楚。

2.默认情况下,哪些类型是传值?哪些类型是传址?

3.对于默认传值的类型,如何让他们变为传址?ref

以后为了防止因为传值,传址引起来的错误 ,建议大家采用返回值的形式,明确返回的数据

 

递归——仅做了解。
函数自己调自己。

static void Main(string[] args)
        {
            Test(0);
        }
        static void Test(int a)
        {
   //if条件的return很重要,没有的话就永远出不来了。
            if(a >5)
            {
                return;
            }
            a++;
            Console.WriteLine("正在做第"+a+"个梦");
            Test(a);
            Console.WriteLine("第"+a+"个梦醒了");
        }

 

常用的类:
(一)数学类:Math
1.Math.Ceiling(小数/整数):返回大于当前小数的最小整数。——天花板数
2.Math.Floor(小数/整数):返回小于当前小数的最大整数。——地板数
Console.WriteLine(Math.Ceiling(3.14));  ->4
Console.WriteLine(Math.Floor(3.14));    ->3
Console.WriteLine(Math.Ceiling(3.0));   ->3

3.Math.Pow(2,3)求指数。相当于2的3次方
4.Math.Sqrt(16)开平方。
5.四舍五入。
 Math.Round(3.63); ->4 
 Math.Round(3.14); ->3

(二)日期时间:DateTime
构造:DateTime dt = new DateTime([1990,2,5[,3,44,21]]);
DateTime dt = new DateTime();

技术分享
DateTime dt = new DateTime(1990, 2, 5);

技术分享
DateTime dt = new DateTime(1990, 2, 5, 3, 44, 25);

技术分享

当前时间:
DateTime dt = DateTime.Now;

日期时间对象的数据:
Year,Month,Day,Hour,Minite,Second,MilliSecond
DayOfWeek——星期几。DayOfYear——一年中的第几天。
Date——取期日期部份。TimeOfDay——取期时间部份。
日期时间对象的函数:
AddYears(int num)
AddMonths(int num)
AddDays(int num)
AddHours(int num)
AddMinutes(int num)
AddSeconds(int num)

日期时间型数据可以直接相减,返回两个日期之间差的天数和时间。

ToString(格式字符串)函数:把日按照某种格式显示出来。
格式字符串:
yyyy——四位数字的年份
yy——两位数字的年份
MM——两位数字的月分,不足两位添0
M——1-2位数字的月份
dd——两位数字的天,不足两位添0
d——1-2位数字的天。
hh——两位数字的小时,不足两位添0
h——1-2位数的小时。
mm——两位数字的分钟,不足两位添0
m——1-2位数的分钟。
ss——两位数字的秒数,不足两位添0
s——1-2位数的秒数。
ms——毫秒。

例如:
            DateTime dt = DateTime.Now;
            Console.WriteLine(dt.ToString("yyyy年MM月dd日hh时mm分ss秒"));

技术分享

 Random rand = new Random();            int n = rand.Next(10000);            string s = n.ToString("0000");            DateTime dt =DateTime.Now;            Console.WriteLine(dt.ToString("yyyy年M月d日h时m分s秒"));            Console.WriteLine("370303"+DateTime.Now.ToString("yyyyMMdd")+n);            Console.WriteLine(dt.ToLongDateString());            Console.WriteLine(dt.ToShortDateString());            Console.WriteLine(dt.ToLongTimeString());            Console.WriteLine(dt.ToShortTimeString());

技术分享
不止是日期时间型数据的ToString()函数中可以放格式化字符中。整数,小数的ToString()中也可以放格式化字符串。
小数和整数类型的格式化符号主要是有四个。
.——小数点
,——整数部份三位的分隔符
#——任意位数字,有几位显示几位
0——至少一位数字,不足则补0.

例:
#.00——必须保留两位小数。

(三)字符串

*Length:字符串的长度。

ToLower():全都转成小写
ToUpper():全都转成大写

TrimStart():
TrimEnd():
Trim():压两头的空格。

*StartsWidth("字符串"):(bool)是否以括中的字符串开头,是--返回true。
*EndsWidth("字符串"):(bool)是否以括号中的字符串结尾,是--返回true。
*Contains("字符串"):(bool)是否包括括号中的字符串。是--返回true。


*IndexOf("子串"):(int)返回子串在字符串中第一次出现的位置。
*LastIndexOf("子串"):(int)返回子串在字符串中最后一次出现的位置。
以上两函数,如果在字符串中找不到相应的子串,返回-1

*Substring(int start[,int length]):(string)截取子串。
Replace(string old,string new):(string)把字符串的old串换成new串
*Split(‘字符‘):(string[])按照括号中的字符把字符串拆开成数组中的元素。

函数和常用类