部分类、console类、Math类

部分类、console类、Math类

C# 部分类

在 C# 语言中提供了一个部分类,正如字面上的意思,它用于表示一个类中的一部分。

关键 字:partial。

一个类可以由多个部分类构成。

定义格式如下:

1 访问修饰符 修饰符 partial class 类名{……}

在这里,partial 即为定义部分类的关键字。

部分类主要用于当一个类中的内容较多时将类 中的内容拆分到不同的定义中,并且部分类的名称必须相同。

注意:部分类中所有的类定义都需要添加partial关键字。

举例如下:

1 /// <summary>
2 /// 用户类
3 /// </summary>
4 partial class User
5 {
6 /// <summary>
7 /// 构造函数
8 /// </summary>
9 public User(string account, string password, string tel )
10 {
11 userAccount = account;
12 userPassword = password;
13 telNumber = tel;
14 }
15
16 //账号
17 string userAccount;
18
19 //密码
20 string userPassword;
21
22 //手机号
23 string telNumber;
24 }
25
26 /// <summary>
27 /// User的部分类
28 /// </summary>
29 partial class User
30 {
31 //年龄
32 int age;
33 }

C#中的常用类

1)Console类

Console类中包含控制台输入和输出的常用方法。

方法描述
Write向控制台输出内容后不换行
WriteLine向控制台输出内容后换行
Read从控制台上读取一个字符
ReadLine从控制台上读取一行字符

例如:

1 class Program
2 {
3 static void Main(string[] args)
4 {
5 Console.WriteLine("请输入学生姓名:");
6 string name = Console.ReadLine();
7 Console.WriteLine("请输入所在学校:");
8 string school = Console.ReadLine();
9 Console.WriteLine("{0}同学在{1}学习", name, school);
10 }
11 }

2)Math类 Math

类主要用于一些与数学相关的计算,并提供了很多静态方法方便访问。

方法描述
Abs取绝对值
Ceiling返回大于或等于指定的双精度浮点数的最小整数值
Floor返回小于或等于指定的双精度浮点数的最大整数值
Equals返回指定的对象实例是否相等
Max返回两个数中较大数的值
Min返回两个数中较小数的值
Sqrt返回指定数字的平方根
Round返回四舍五入后的值

例如:

1 class Program
2 {
3 static void Main(string[] args)
4 {
5 Console.WriteLine("请输入第一个数:");
6 double num1 = Double.Parse(Console.ReadLine());
7 Console.WriteLine("请输入第二个数:");
8 double num2 = Double.Parse(Console.ReadLine());
9 Console.WriteLine("两个数中较大的数为{0}", Math.Max(num1, num2));
10 Console.WriteLine("两个数中较小的数为{0}", Math.Min(num1, num2));
11 }
12 }

3)Random类

Random 类是一个产生伪随机数字的类。

它的构造函数有两种:

1 Randon random = New Random();
2 Randon random = New Random(Int32);

前者是根据触发那刻的系统时间做为种子,来产生一个随机数字,后者可以自己设定触发的

种子,一般都是用系统当前时间做为参数种子。

Random 类中提供的 Next、NextBytes 以及 NextDouble 方法可以生成整数类型、byte

数组类型以及双精度浮点型的随机数。

常用方法如下表所示:

方法描述
Next()每次产生一个不同的随机正整数
Next(int max Value)产生一个比 max Value 小的正整数
Next(int min Value,int max Value)产生一个 minValue~maxValue 的正整数,但不包含 maxValue
NextDouble()产生一个0.0~1.0的浮点数
NextBytes(byte[] buffer)用随机数填充指定字节数的数组

例如:

1 class Program
2 {
3 static void Main(string[] args)
4 {
5 Random rd = new Random();
6 Console.WriteLine("产生一个10以内的数:{0}", rd.Next(0, 10));
7 Console.WriteLine("产生一个0到1之间的浮点数:{0}", rd.NextDouble());
8 }
9 }

4)DateTime类

DateTime 类用于表示时间,所表示的范围是从 0001 年 1 月 1 日 0 点到 9999 年 12 月

31 日 24 点。

在 DateTime 类中提供了静态属性 Now,用于获取当前的日期和时间。

常用方法如下表所示:

方法描述
Date获取实例的日期部分
Day获取该实例所表示的日期是一个月的第几天
DayOfWeek获取该实例所表示的日期是一周的星期几
DayOfYear获取该实例所表示的日期是一年的第几天
Add(Timespan value)在指定的日期实例上添加时间间隔值 value
AddDays(double value)在指定的日期实例上添加指定天数 value
AddHours(double value)在指定的日期实例上添加指定的小时数 value
AddSeconds(double value)在指定的日期实例上添加指定的秒数 value
AddMonths(int value)在指定的日期实例上添加指定的月份 value
AddYears (int value)在指定的日期实例上添加指定的年份 value
AddMinutes(double value)在指定的日期实例上添加指定的分钟数 value

例如:

1 class Program
2 {
3 static void Main(string[] args)
4 {
5 DateTime dt = DateTime.Now;
6 Console.WriteLine("当前日期为:{0}", dt);
7 Console.WriteLine("当前时本月的第{0}天", dt.Day);
8 Console.WriteLine("当前是:{0}", dt.DayOfWeek);
9 Console.WriteLine("当前是本年度第{0}天", dt.DayOfYear);
10 Console.WriteLine("30 天后的日期是{0}", dt.AddDays(30));
11
12 TimeSpan timeSpan = new TimeSpan(1, 1, 1, 1);
13 Console.WriteLine("当前时间添加1天1小时1分钟1秒之后的时间\n{0}",DateTime.N
ow.Add(timeSpan));
14 }
15 }

C#方法的递归调用

递归调用 就是方法调用自身的一种形式。

【实例】使用递归实现计算所输入数的阶乘。

例如计算 5 的阶乘,则是 54321 的结果。

1 static void Main(string[] args)
2 {
3 int num = 5;
4
5 Console.WriteLine("{0} 的阶乘为{1}", num, Factorial(num));
6
7 }
8
9 /// <summary>
10 /// 计算阶乘
11 /// </summary>
12 /// <param name="n"></param>
13 /// <returns></returns>
14 public static int Factorial(int n)
15 {
16 if (n == 0)
17 {
18 return 1;
19 }
20 return n * Factorial(n ‐ 1);
21 }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值