一、string类
1、
str.Length:字符串的长度 *****
str[索引号]
2、
str.Trim():去除左右两边的空格 *****
str.TrimStart():去掉左边的空格
str.TrimEnd():去掉右边的空格
//eg.1 x.Trim();去掉字符串前后的空格,TrimStart()去掉前面的空格,TrimEnd()去掉后面的空格 static void Main1(string[] args) { ////string x = Console.ReadLine(); string x = " I love C#! "; int i = x.Length;//获取字符串长度,返回一个int类型的值 x = x.Trim();//去除字符串中前后的空格 ,不包括中间的 Console.WriteLine(i); Console.Write(x); }
3、
str.ToLower():大写转小写
str.ToUpper():小写转大写
4、
str.StartsWidth("字符串"):是否以括中的字符串开头,返回(bool类型值)。
str.EndsWidth("字符串"):是否以括号中的字符串结尾,返回(bool类型值)。
str.Contains("字符串"):是否包括括号中的字符串,返回(bool类型值)。
eg.1
1 static void Main(string[] args) 2 { 3 string s = "abidfje"; 4 bool i = s.Contains("a"); 5 Console.WriteLine(i);//i="Ture" 6 7 bool j = s.StartsWith("c"); 8 Console.WriteLine(j);//j="False" 9 10 bool k = s.EndsWith("e"); 11 Console.WriteLine(k.ToString());//k="Ture" 12 }
int i=str.IndexOf("子串"):返回子串在字符串中第一次出现的位置。
int i=str.LastIndexOf("子串"):返回子串在字符串中最后一次出现的位置。
以上两函数,如果在字符串中找不到相应的子串,返回-1
eg.1
1 static void Main(string[] args) 2 { 3 string s = "abidfje"; 4 int i = s.IndexOf("a"); 5 Console.WriteLine(i);//i=1 6 int j = s.LastIndexOf("c"); 7 Console.WriteLine(j);// j=-1 8 }
str.Substring():截取字符串 ******
1 //eg.4 从身份证号中截取日期 x.substring(m)从第m个开始截取,截取到字符串尾 2 //x.substring(m,n),从第m位截取n个 3 static void Main4(string[] args) 4 { 5 Console.WriteLine("请输入你的身份证号:"); 6 string id=Console.ReadLine(); 7 8 string nian = id.Substring(6, 4);//从第6位截取4个 9 string yue = id.Substring(10, 2);//从第10位截取2个 10 string ri = id.Substring(12, 2);//从第12位截取2个 11 12 Console.WriteLine("你的出生日期是:{0}年{1}月{2}日。",nian,yue,ri); 13 }
Replace(string old,string new):(string)把字符串的old串换成new串
*Split(‘字符‘):(string[])按照括号中的字符把字符串拆开成数组中的元素。
二、Math类
Math.Round(x,n); 四舍五入,X是数据,N是保留小数点后N位.
Math.Round(x);将x舍入为最接近其的整数
Math.Ceiling(n);取大于该小数的最小整数
Math.Floor(n);取小于该小数的最大整数
Math.Sqrt(a);开平方,平方根
Math.Pow(2,4); 求2的4次方
eg
1 static void Main(string[] args) 2 { 3 int i = 20; 4 double j = 23.5, k = 23.4, m = 23.456674; 5 6 double n = Math.Round(m, 3); 7 Console.WriteLine(n); //n=23.457; 8 9 double b = Math.Round(m, 4); 10 Console.WriteLine(b);//b=23.4567; 11 12 13 int a = (int)Math.Round(j); 14 Console.WriteLine(a);//a=24; 15 16 int c =(int) Math.Floor(j); 17 Console.WriteLine(c);//c=23; 18 19 int d = (int)Math.Ceiling(j); 20 Console.WriteLine(d);//d=24; 21 }
三、datetime类
构造方法:DateTime dt = new DateTime([1990,2,5);
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;
日期时间对象的数据:
d.Year; 提取年份
d.Month; 提取月份
d.Day; 提取日期
d.Hour; 提取小时
d.Minute; 提取分钟
d.Second; 提取秒
d.Millisecond; 提取毫秒
d.DayOfYear; 获取日期是该年中第几天
d.DayOfWeek; 星期几
System.TimeSpan da = new TimeSpan(int days,int hours,int minutes,int seconds);//将新的系统时间初始化为指定的天数,小时数,分钟数和秒数。
ToString("yyyy年MM月dd日 hh时mm分ss秒") 按”年月日时分秒“表示出来
日期时间对象的函数:
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——12小时制
HH——24小时制
mm——分
ss——秒
ms——毫秒。
例如:
DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString("yyyy年MM月dd日hh时mm分ss秒"));
不止是日期时间型数据的ToString()函数中可以放格式化字符中。整数,小数的ToString()中也可以放格式化字符串。
小数和整数类型的格式化符号主要是有四个。
.——小数点
,——整数部份三位的分隔符
#——任意位数字,有几位显示几位
0——至少一位数字,不足则补0.
例:
#.00——必须保留两位小数。
四、例题
eg.1 定闹钟
1 //eg.7 每天的特定时间都会响 2 static void Main7(string[] args) 3 { 4 Console.WriteLine("请输入要提醒的时间点:"); 5 string s1 = Console.ReadLine(); 6 //string timenow = DateTime.Now.ToString("yyyy/MM/dd"); 7 string s2 = DateTime.Now.ToString().Substring(0,9); 8 string newtime = s2 + s1; 9 //Console.WriteLine(newtime); 10 11 //string newtime = timenow + " " + s1; 12 13 DateTime nt = Convert.ToDateTime(newtime); 14 15 while (true) 16 { 17 Console.Clear();//此句必须在输出之前,若之后才输出一次就清一次,就看不到结果! 18 Console.WriteLine(DateTime.Now.ToString()); 19 20 if (DateTime.Now.ToString().Equals(nt.ToString()))//tostring 应该写进格式去 21 { 22 Console.WriteLine("\a\a\a\a\a\a.....时间到了!"); 23 Console.WriteLine("你需要延长一段时间么? y/n"); 24 string aj = Console.ReadLine(); 25 26 if (aj.ToLower() == "y") 27 { 28 nt = nt.AddSeconds(10); 29 } 30 else if (aj.ToLower() == "n") 31 { 32 break; 33 } 34 else 35 { 36 Console.WriteLine("你输入的有误!"); 37 break; 38 } 39 } 40 41 Thread.Sleep(1000);//此处比较好的做法就是放到程序的尾端(但具体延时情况具体分析) 42 43 }
eg.2 测试身价
1 //eg.8 测试姓名身价小游戏 2 static void Main8(string[] args) 3 { 4 while (true) 5 { 6 Console.WriteLine("请输入你的姓名:"); 7 string r1 = Console.ReadLine(); 8 int seed = 0; 9 10 if (r1.Length == 2) 11 { 12 seed = (int)(Convert.ToChar(r1.Substring(0, 1))) + (int)(Convert.ToChar(r1.Substring(1, 1))); 13 } 14 else 15 { 16 seed = (int)(Convert.ToChar(r1.Substring(0, 1))) + (int)(Convert.ToChar(r1.Substring(1, 1))) 17 + (int)(Convert.ToChar(r1.Substring(2, 1))); 18 } 19 20 Random r = new Random(seed); 21 int t = r.Next(5000000) + 500000; 22 Console.WriteLine("你的身价是:{0}", +t); 23 } 24 }