C#常用函数类

函数:能够独立完成某个功能的模块。 好处: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(); //0001/1/1 00:00:00

DateTime dt = new DateTime(1990, 2, 5);//1900/2/5 00:00:00 DateTime dt = new DateTime(1990, 2, 5, 3, 44, 25);//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秒"));

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

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

(三)字符串 *Length:字符串的长度。

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

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

*StartsWith("字符串"):(bool)是否以括中的字符串开头,是--返回true。 *EndsWith("字符串"):(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[])按照括号中的字符把字符串拆开成数组中的元素。

作业:

1.从键盘输入一个正确的身份证号,获取其生日。

//Console.Write("请输入一个身份证号");
//string s = Convert.ToString(Console.ReadLine ());
//Console.Write("生日是"+s.Substring (6,8));


2.从路径:C:UsersAdministratorDesktop12200104aaa.txt中,获取文件名。(用两种法做)

//string s="C:\Users\Administrator\Desktop\1220\0104\aaa.txt";
//string[] ss = s.Split('\');
//for (int i = 0; i < ss.Length; i++)
//{
// Console.WriteLine(ss[i]);
//}

//string s = "C:\Users\Administrator\Desktop\1220\0104\aaa.txt";
//int ss = s.LastIndexOf("\");
//Console.Write("文件名是:" + s.Substring(ss + 1));


3.用户从键盘上输入一个邮箱。验证是否正确。

Console.Write("请输入一个邮箱:");
string s = Convert.ToString(Console.ReadLine());
int a = s.IndexOf(".");
int a1 = s.LastIndexOf(".");
int b = s.IndexOf("@");
int b1 = s.LastIndexOf("@");
if (a == a1)
{
if (a == 0 || a == s.Length - 1 || a1 == 0 || a1 == s.Length - 1 || b == 0 || b == s.Length - 1 || b != b1 || a - b <= 1 || a1 - b <= 1)
{

Console.Write("你输入的邮箱错误");
return;
}
}
else if (a1 - a != 4|| a == 0 || a == s.Length - 1 || a1 == 0 || a1 == s.Length - 1 || b == 0 || b == s.Length - 1 || b != b1 || a - b <= 1 || a1 - b <= 1)
{
Console.Write("你输入的邮箱错误");
return;
}
Console.Write("您输入的邮箱正确");
}
原文地址:https://www.cnblogs.com/zdc1994/p/4233662.html