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();    //?
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——两位的小时计时
h——1-2位的小时
mm——两位的分钟
m——1-2位的分钟
ss——两位的秒
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():压两头的空格。

*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[])按照括号中的字符把字符串拆开成数组中的元素。

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

string s1 = "367283199003065784";Console.WriteLine(s1.Substring(6, 8));

2.从路径:C:\Users\Administrator\Desktop\1220\0104\aaa.txt中,获取文件名。(用两种法做)

方法一
string s2 = "C:\\Users\\Administrator\\Desktop\\1220\\0104\\aaa.txt";string[] a = s2.Split('\\');//注意单引号Console.WriteLine("文件名是:" + a[a.Length - 1]);

方法二
int whr1 = s2.LastIndexOf('\\');Console.WriteLine("文件名是:" + s2.Substring(whr1 + 1, 7));


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

//3.用户从键盘上输入一个邮箱。验证是否正确。(正确格式:xx@xx.xx.xx)Console.WriteLine("请输入邮箱地址:");string mail = Console.ReadLine();int m = mail.IndexOf('@');int n = mail.IndexOf('.');string[] b = mail.Split('.');int l = b.Length;//有且仅有一个“@”,有两个“.”且不相邻if (mail.Contains('@') && mail.IndexOf('@') == mail.LastIndexOf('@') && l == 3 && (mail.IndexOf('.') - mail.LastIndexOf('.')) < -1){if (n - m > 1){Console.WriteLine("格式正确");}else{Console.WriteLine("邮箱不正确");}}else{Console.WriteLine("邮箱不正确");}

转载于:https://www.cnblogs.com/wllhq/p/4202389.html

C#函数学习及常用的类相关推荐

  1. 【java学习】常用实体类--String、StringBuffer\StringTokenizer

    文章目录 参数传递 String String类有两个常用构造方法: 引用String常量 String类的常用方法 StringBuffer和StringBuilder StringBuilder中 ...

  2. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  3. python语言学习:python语言学习中的定义类、定义函数、封装api等详细攻略

    python语言学习:python语言学习中的定义类.定义函数.封装api等详细攻略 目录 python语言学习中的定义类 python语言学习中的定义函数 python语言学习中封装api pyth ...

  4. Cocos2D学习笔记(1)- 常用的类

    1.坐标系 >屏幕坐标系(UIKit):原点在左上角! >OpenGl坐标系:原点在屏幕的左下角! 2.游戏设计:Director--Scene--Layer--Sprite. >C ...

  5. IOS UI Automation 学习之常用类,方法和模拟手势

    为什么80%的码农都做不了架构师?>>>    IOS UI Automation 学习之常用类,方法和模拟手势 常用类结构图 作者不擅长作画,如果有好的画此类图形的工具,可以留言, ...

  6. 6章:常用工具类以及函数

    2019独角兽企业重金招聘Python工程师标准>>> <div class="box"><div class="w_320" ...

  7. algorithm头文件下的常用函数-学习笔记

    algorithm头文件下的常用函数-学习笔记 max(x,y),min(x,y),abs(x) swap(x,y) reverse(it,it2) next_permutation() fill( ...

  8. 学习-Java常用类之Calendar类

    第1关:学习-Java常用类之Calendar类 任务描述 本关任务:获取给定年月的最后一天. 相关知识 我们通过之前的学习已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定 ...

  9. tensorflow学习之常用函数总结:tensorflow官方例子中的诸如tf.reduce_mean()这类函数

    前言 tensorflow官网给的例子用到了很多函数,然后并没有具体说明,还要自己去翻文档,有些函数是很常用的,下面来一一总结. 正文 一,tensorflow中有一类在tensor的某一维度上求值的 ...

最新文章

  1. zabbix_server 报警
  2. DebugDiagx检测内存泄露
  3. 光纤收发器出现死机故障怎么解决
  4. 安装FFmpeg后,发现没有生成ffplay的解决办法
  5. 时间序列深度学习:seq2seq 模型预测太阳黑子
  6. 如何更改IDEA的主题(背景黑色还是白色)
  7. python人口普查数据数据分析_美国人口普查数据可视化探索和收入水平预测建模...
  8. FBWF和EWF的对比
  9. wps表格l制作甘特图_WPS表格制作进度计划横道图教程
  10. 常用函数的傅里叶变换汇总
  11. Nginx+Tomcat集群:搭建Jpress(三)
  12. Wav2KWS: Transfer Learning From Speech Representations for Keyword Spotting(2021)
  13. 牛客SQL22--- 统计各个部门的工资记录数
  14. 2021届 联发科技人力面试 嵌入式软件
  15. 小飞升值记——(7)
  16. 揭开卓越供应链的秘密,走近人机协同的智能决策
  17. 2021年9月计算机二级考试成绩查询常见问题
  18. 透过三季度财报看3.0用友:向云而升,做企业数智化的云引擎
  19. ICLR 2022的10篇论文推荐
  20. 51单片机甲醛浓度采集

热门文章

  1. 微服务springCloud初识
  2. 数据库某个字段增加或减少数量
  3. gitlab项目中启用或禁用 GitLab CI/CD Pipeline
  4. excel判断两列中同一行的数据是否一致
  5. java局部变量的描述正确的是_【Java入门课|这才是Java局部变量的正确使用方法,你真的会用这些吗】- 环球网校...
  6. html表单自动编号,自动编号插件
  7. oracle表段是什么,【DB笔试面试274】在Oracle中,什么是延迟段创建(Deferred Segment Crea......
  8. yolo v3制作自己的数据_【手把手AI项目】五、自己制作图像VOC数据集--Objection Detection(目标检测)...
  9. oracle 的wecate函数,1.Oracle中decode()函数用法
  10. linux两文件对比,linux对比两个文件的差异