C# 基础知识 (3)

写在前面

本文主要内容:Console 类、Math 类、Random 类、DateTime 类、Regex类、字符串常用操作、数据转换

1、C#提供的几个常用类

1.1、Console 类

常用方法

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

1.2、Math 类

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

1.3、Random 类

方法描述
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.4、DateTime 类

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

实例

class Program
{
    static void Main(string[] args)
    {
        DateTime dt = DateTime.Now;
        Console.WriteLine("当前日期为:{0}", dt);
        Console.WriteLine("当前时本月的第{0}天", dt.Day);
        Console.WriteLine("当前是:{0}", dt.DayOfWeek);
        Console.WriteLine("当前是本年度第{0}天", dt.DayOfYear);
        Console.WriteLine("30 天后的日期是{0}", dt.AddDays(30));

        DateTime dt1 = DateTime.Now;
        DateTime dt2 = new DateTime(2019, 6, 1);
        TimeSpan ts = dt2 - dt1;
        Console.WriteLine("间隔的天数为{0}天", ts.Days);
    }
}

1.5、Regex类(正则表达式)

正则表达式中的元字符

字符描述
.匹配除换行符以外的所有字符
\w匹配字母、数字、下画线
\s匹配空白符(空格)
\d匹配数字
\b匹配表达式的开始或结束
^匹配表达式的开始
$匹配表达式的结束

正则表达式中表示重复的字符

字 符描 述
*0次或多次字符
?0次或1次字符
+1次或多次字符
{n}n次字符
{n,M}n到M次字符
{n, }n次以上字符
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入一个邮箱");
        string email = Console.ReadLine();
        Regex regex = new Regex(@"^(\w)+(\.\w)*@(\w)+((\.\w+)+)$");
        if (regex.IsMatch(email))
        {
            Console.WriteLine("邮箱格式正确。");
        }
        else
        {
            Console.WriteLine("邮箱格式不正确。");
        }
    }
}

2、字符串常用操作

class Program
{
    static void Main(string[] args)
    {
    	// 获取长度
        string str = "这是一个字符串!";
        Console.WriteLine("字符串的长度为:" + str.Length);
        Console.WriteLine("字符串中第一个字符为:" + str[0]);
        Console.WriteLine("字符串中最后一个字符为:" + str[str.Length - 1]);

		// 字符位置,没有返回-1
		int i = str.IndexOf("@");
		
		// 字符替换
		str = str.Replace("!", "。");
		
		// 字符截取
		str = str.Substring(0, 2);

		// 字符插入
		str = str.Insert(1, ",");
    }
}

3、数据转换

3.1、隐式转换

int a = 100;
double d = a;  //将int类型转换为double类型
float f = 3.14f;
d = f;    //将float类型转换为double类型

3.2、显式转换

方法描述
ToBoolean如果可能的话,把类型转换为布尔型。
ToByte把类型转换为字节类型。
ToChar如果可能的话,把类型转换为单个 Unicode 字符类型。
ToDateTime把类型(整数或字符串类型)转换为 日期-时间 结构。
ToDecimal把浮点型或整数类型转换为十进制类型。
ToDouble把类型转换为双精度浮点型。
ToInt16把类型转换为 16 位整数类型。
ToInt32把类型转换为 32 位整数类型。
ToInt64把类型转换为 64 位整数类型。
ToSbyte把类型转换为有符号字节类型。
ToSingle把类型转换为小浮点数类型。
ToString把类型转换为字符串类型。
ToType把类型转换为指定类型。
ToUInt16把类型转换为 16 位无符号整数类型。
ToUInt32把类型转换为 32 位无符号整数类型。
ToUInt64把类型转换为 64 位无符号整数类型。

3.3、强制转换

double dbl_num = 12345678910.456;
int k = (int) dbl_num ;//此处运用了强制转换

3.4、 Parse方法与ToString方法

Parse 方法用于将字符串类型转换成任意类型

int num1 = int.Parse("12348");

ToString 方法用于将任意的数据类型转换成字符串类型

int a=100;
string str=a.ToString();

3.5、Convert 方法

它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。

方法说明
Convert.ToInt16()转换为整型(short)
Convert.ToInt32()转换为整型(int)
Convert.ToInt64()转换为整型(long)
Convert.ToChar()转换为字符型(char)
Convert.ToString()转换为字符串型(string)
Convert.ToDateTime()转换为日期型(datetime)
Convert.ToDouble()转换为双精度浮点型(double)
Conert.ToSingle()转换为单精度浮点型(float)
class Program
{
    static void Main(string[] args)
    {
         float num1 = 82.26f;
         int integer;
         string str;
         integer = Convert.ToInt32(num1);
         str = Convert.ToString(num1);
         Console.WriteLine("转换为整型数据的值{0}", integer);
         Console.WriteLine("转换为字符串{0},",str);
    }
}

3.6、装箱和拆箱(值类型和引用类型)

int val = 100;
object obj = val;
Console.WriteLine("对象的值 = {0}", obj);
//这是一个装箱的过程,是将值类型转换为引用类型的过程


int val = 100;
object obj = val;
int num = (int) obj;
Console.WriteLine("num: {0}", num);
//这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值