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;
}
writeline函数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——两位数字的⽉分,不⾜两位添0M——1-2位数字的⽉份dd——两位数字的天,不⾜两位添0d——1-2位数字的天。hh——两位数字的⼩时,不⾜两位添0h——1-2位数字的⼩时。mm——两位数字的分钟,不⾜两位添0m——1-2位数字的分钟。ss——两位数字的秒,不⾜两位添0s ——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:\Users\Administrator\Desktop\1220\中,获取⽂件名。(⽤两种法做)
//string s="C:\\Users\\Administrator\\Desktop\\1220\\0104\\";
//string[] ss = s.Split('\\');
//for (int i = 0; i < ss.Length; i++)
//{
// Console.WriteLine(ss[i]);
//}
//string s = "C:\\Users\\Administrator\\Desktop\\1220\\0104\\";
//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("您输⼊的邮箱正确");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论