C# 8 函数 调用 常用类

函数:能够独立完成某个功能的模块。

好处: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——

mm——

m——

ss——

s——

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.从键盘输入一个正确的身份证号,获取其生日。

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

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

例1:

class Program

{

static void Main(string[] args)

{

//Console.WriteLine("您刚才调用程序时,传进来的是"+args[0]);

Console.Write("请输入三个数:");

int x = Convert.ToInt32(Console.ReadLine());

int y = Convert.ToInt32(Console.ReadLine());

int z = Convert.ToInt32(Console.ReadLine());

int zd = Max(x, y);

zd = Max(zd, z);

}

static int Max(int a,int b)

{

if(a>b)

{

return a;

}

else

{

return b;

}

}

}

例2:

class Class1

{

static void Main(string[] args)

{

int m = 30;

Console.WriteLine("Main函数第一次打印:" + m); //30

Add1( m);

Console.WriteLine("Main函数第二次打印:" + m); //30

Console.WriteLine("Main函数第三次打印:" + m); //30

Add2(ref m);

Console.WriteLine("Main函数第四次打印:" + m);//50

}

static void Add1( int a)

{

Console.WriteLine("Add1传值函数第一次打印:" + a); //30

a += 20;

Console.WriteLine("Add1传值函数第二次打印:" + a); //50

}

static void Add2(ref int a)

{

Console.WriteLine("Add2传址函数第一次打印:" + a); //30

a += 20;

Console.WriteLine("Add2传址函数第二次打印:" + a); //50

}

}

例3:

class Class3

{

static void Main(string[] args)

{

int m = 30;

int n = Add(m);

Console.WriteLine(m); //30

}

static int Add(int a)

{

a += 20;

return a;

}

}

例4:猴子吃桃

class Class5

{

static void Mai6n(string[] args)

{

int m = TaoZi(1); //求第一天的桃子数

Console.WriteLine(m);

}

/// <summary>

/// 求每天的桃子数

/// </summary>

/// <param name="a">第几天</param>

/// <returns>该天桃子数</returns>

static int TaoZi(int a)

{

if(a == 7)

{

return 1;

}

int n = (TaoZi(a + 1) + 1) * 2;

return n;

}

}

时间: 2025-01-04 15:11:55

C# 8 函数 调用 常用类的相关文章

函数和常用类

函数:能够独立完成某个功能的模块.好处:1.结构更清析(编写.维护方便 ).2.代码重用.3.分工开发.四要素:名称,输入(参数),输出(返回的类型),加工(函数体)语法:返回类型 函数名(参数类型 参数名,....){ 函数体} 函数调用:[数据类型 变量名 = ]函数(参数); 函数调用时:调用的参数和函数定义的参数保持一对待:个数,类型,对应. 形参:形式参数.——函数定义的参数. 实参:实际参数.——函数调用的参数. 实参:实际参数.——函数调用的参数. 实参.形参传值的规律——传值,传

函数常用类

函数和常用类 函数:能够独立完成某个功能的模块.好处:1.结构更清析(编写.维护方便 ).2.代码重用.3.分工开发.四要素:名称,输入(参数),输出(返回的类型),加工(函数体)语法:返回类型 函数名(参数类型 参数名,....){ 函数体} 函数调用:[数据类型 变量名 = ]函数(参数); 函数调用时:调用的参数和函数定义的参数保持一对待:个数,类型,对应. 形参:形式参数.——函数定义的参数. 实参:实际参数.——函数调用的参数. 实参:实际参数.——函数调用的参数. 实参.形参传值的规

C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)

1..net和C#的关系 .net是一个开发平台,C#是应用在.net平台上的一种语言.   2.VS与.net的对应关系  3.VS2012常用的几种应用程序 第一种是Windows窗体应用程序,也即是我们常用的C/S端的应用软件: 第二种是控制台应用程序,主要是用来学习调试C#代码的(老师上课应用的模式): 第三种是空Web应用程序,建立空的网页模式,B/S模式: 第四种是Web 窗体应用程序,建立后会生成一些常用的网页组件和功能,例如JS.image等,也是B/S模式. 4.C#定义一个类

Oracle数据库中调用Java类开发存储过程、函数的方法

Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL,除此之外,还可以用时下最流行的编程语言Java来做开发.随着对oracle的了解越来越多,越来越禁不住oracle的诱惑,oracle技术真的是一门很有趣的学问.之前,我在博客中总结了挺多有关SQL.PL/SQL的,但是对于oracle数据库中Java类的调用却没有总结,也是因为之前不太会,这会儿总

PHPCMS调用form类编辑器editor函数动态上传图片附件

http://w3note.com/web/49.html phpcms v9的系统类库有一个表单类,它封装了表单的一些组件,如编辑器.图片上传.时间选择器.模板选 择器等,更详细请参考form.class.php.有了这些组件,在对phpcms v9进行二次开发时,更加省时省心.我们要做的就是如何把这些工具调出来使用.调用方法总共有两种. 一.视图调用法这种方法最简单,但有局限性.在后台的模型定义字段时,选择表单的类型就会生成相应的表单类型. 二.代码调用法这种方法比较灵活,走出了内容模块的限

【夯实PHP基础】PHP常用类和函数总结

本文地址 代码提纲: 1. 字符串处理类及函数 2. 数组处理类及函数 3 .web处理类及函数 将常用的PHP的类和函数总结到这里,主要是 自己用过的,比较有感觉. 1. [字符串处理] 1)[utf8字符转gbk]   1 function TransUTF8ToGBK($str) 2 { 3 4 $encode = mb_detect_encoding($str, array('UTF-8', 'GBK')); 5 if ($encode == 'UTF-8') 6 { 7 $str =

C++虚函数的陷阱--派生类对象的基类函数调用基类虚函数出错

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近写程序的时候发现,派生类对象的基类函数如果调用基类虚函数,则它将调用的是派生类的对应函数,而不是我想调用的基类的对应函数.</span> 下面用一个例子来说明: //基类 class Base { public: void funA(); virtual void fun

Oracle调用Java类开发的存储过程、函数的方法

oracle调用java类的基本步骤 1. 编写java代码,后续可以直接使用java代码,class文件或者jar包 2. 将写好的java代码导入到oracle数据库中,有两种方法:一种是使用loadjava命令:另一种是在编写PL/SQL的时候编写 3. 编写存储过程.函数 来封装java代码,以实现后面对java功能的调用 4. 调用写好的存储过程和oracle函数 loadjava命令介绍 有关loadJava的各个参数的意思,可以使用:loadjava -help 命令来获得详细帮助

QT开发(二十七)——QT常用类(一)

QT开发(二十七)--QT常用类(一) 一.QString 1.QString简介 QString提供了Unicode编码的字符串,使用隐式共享技术来节省内存和不必要的数据拷贝,不必考虑跨平台的兼容性. QString类成员函数中除了 ascii().latin1().utf8().local8Bit()函数,其他所有的函数都是可重入的. 2.QString成员函数 QString::QString ( const QChar * unicode, int size ) QString::QSt