一、String类

1、Length 字符的长度

string x = Console.ReadLine();
int i = x.Length;// Length 是获取字符串的长度(从1开始数)
Console.Write(i);
Console.ReadLine();

2、

string dd = ss.Trim();//开头和结尾的空格全去除
dd = ss.TrimEnd();//结尾的空格去除
dd = ss.TrimStart();//开头的空格去除

x = x.Trim();//***Trim()***可以去掉字符串前后的空格
TrimStart() 去掉前面的空格,TrimEnd()去掉后面的空格

3、

dd=ss.Substring (3,3);//截取字符串,开始索引和截取长度

Substring(起始位置,截取长度)
Substring(起始位置) 只写起始位置,可以截取到尾

string p = x.Substring(a, b);
索引是从0开始 从第a位截取字符串,截取b个
Substring第一个数是从哪个索引开始截取,第二个是截取的长度

案例:身份证截取生日

4、ToUpper() 全部大写;ToLower() 全部小写

x = x.ToLower();//将字符串当中的大写英文字符转换成小写
x = x.ToUpper();//讲字符串当中的小写英文字符转换成大写

5、Replace("老字","新字") 将老字用新字替换

Replace("","");//替换所有符合指定段的字符串条件的字符串

6、都是用布尔值 bool

bool bb = ss.StartsWith("wq");//是不是以此字符串开始的字符串,返回bool//不是ture就是False

IndexOf("字符串") 返回第一次出现此字符串的索引
LastIndexOf("字符串") 返回最后一次出现此字符串的索引

StartWith("字符串") 是否以此字符串为开头,返回True或False
EndsWith("字符串") 是否以此字符串为结尾
Contains("字符串") 是否包含此字符串。返回True或者False

写法:

string ss="aasdfddscwefergreginlknsjooe";
int i=ss.indexOf("i");//第一个这样的字符所在的索引位置

int j=ss.LastindesOf("j");//最后一个这样的字符所在的索引位置

bool b=ss.StartsWith ("abv");//是否以这样的字符开头,返回Ture或者False
bool c=ss.EndsWith ("987");//是否以这样的字符结尾,
bool d=ss.Contains ("ABC");//是否包含这样的字符,返回True或者False

7、#用法

double d = 765765876583533.13;
string s = d.ToString("#,#.00");//小数点之前的每三位画一个逗号
string s = d.ToString("#.00");//小数点之后没有的显示00,有的显示本身
string s = d.ToString("#.##");//小数点后没有的显示整数部分,有的显示本身

double b = double.Parse( Console.ReadLine());
b = Math.Round(b);//奇数的.5取得是上线,偶数的.5取得是下线

二、Math类:

Ceiling() 取上线
Floor() 取下线
Math.PI 圆周率
Math.Sqrt() 平方根
Math.Round() 四舍五入(注意奇数偶数下.5不一样的结果)

写法:

double a = Math.PI; //π
a = Math.Sqrt(a); //平方根
Math.Round(); //四舍五入
Math.Ceiling(); //取上线
Math.Floor(); //取下线
Console.WriteLine(a);
Console.ReadLine();

三、Datetime类(注意在使用之前需要先初始化一遍。)

1、

DateTime dt =new DateTime();//若获取当前时间,可以不用初始化:

DateTime dt = DateTime.Now;//执行的一瞬间获取的电脑上的当前时间
Console.WriteLine(dt);

int nian = dt.Year;//单纯获取年份
int yue=dt.Month;//单纯获取月份
int tian=dt.Day;//单纯获取日期
int shi=dt.Hour;//小时
int fen = dt.Minute;//分钟
int miao = dt.Second;//秒
int g = dt.DayOfYear;//获取日期是当年的第几天

DayOfWeek d = dt.DayOfWeek;//获取这一天是星期几 ,获取到的是英文。若想用中文,先d.ToString(),然后根据英文打印出中文。

案例:

2、占位符

yyyy --年 year
MM --月Month
dd--日day
hh --时 hour
mm  --分minut
ss --秒second
以上是代位符。可以在字符串中先占用下这个空位。
string s = dt.ToString("yyyy年MM月dd日hh时mm分ss秒");

案例:

(1)、

(2)、输入必须符合DateTime的格式,才可以接受。

3、dt.Add

10000天之前是:

Add() 增加或者减去一定的时间间隔
AddYears() 增加或减去年份
AddMonths() 增加或减去月份
AddDays() 增加或减去天数
以此类推。
注意,加减天数,小时数是利用double类型。其他都是int类型

4、TimeSpan

System.TimeSpan time = new TimeSpan();//TimeSpan是一个时间间隔类型最多加到天(天数、小时、分钟、秒、)
dt = dt.Add(time );

三、练习题

1、随机生成一个四位数的验证码

2、输入天数N,打印出来N天后是星期几

星期五

3、判断邮箱格式是否正确

4、输入恋爱开始的时间,计算到今天

TotalDays 时间差具体到天数
DayOfyear 时间差具体到年数

另一种做法

C#的类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  6. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  7. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  8. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  9. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

  10. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

随机推荐

  1. 低价替代Vector CANoe CAN总线适配解决方案支持所有USBCAN(周立功CAN、PCAN、Kvaser、ValueCAN、NI CAN)

    在汽车通信领域CAN总线使用非常广泛,最强大的工具有Vector Case(10WRMB).Pcan(2KRMB),ZLGCAN(1.5KRMB),KVASER(2KRMB).ValueCAN(4KR ...

  2. 模拟20 题解(waiting)

    留坑待填 T2 #include<cstdio> #include<vector> #include<cstring> #include<iostream&g ...

  3. list的基本使用

    转自:https://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.html vector :vector和built-in数组类似 ...

  4. 2-2 Numpy-矩阵

    # !usr/bin/env python # Author:@vilicute import numpy as np # 矩阵的创建 matr1 = np.mat("4 2 3;4 5 6 ...

  5. 完整版unity安卓发布流程(包括SDK有原生系统依赖关系的工程)

    要3个东西!NDS,SDK,JDK, NDK官网下载:https://developer.android.google.cn/ndk/downloads/index.html(注意系统是不是64位) ...

  6. POJ1485 Sumdiv

    Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 22680   Accepted: 5660 Descripti ...

  7. 462. Minimum Moves to Equal Array Elements II

    Given a non-empty integer array, find the minimum number of moves required to make all array element ...

  8. JMeter 参数意义

    样本数目:运行时得到的取样器响应结果个数 最新样本:最近一个取样器结果的响应时间 平均:所有取样器结果的响应时间平均值 偏离:所有取样器结果的响应时间标准差 吞吐量:每分钟响应的取样器结果个数 中值: ...

  9. spring-cloud-zuul跨域问题解决

    问题发现 正常情况下,跨域是这样的: 1. 微服务配置跨域+zuul不配置=有跨域问题 2. 微服务配置+zuul配置=有跨域问题 3. 微服务不配置+zuul不配置=有跨域问题 4. 微服务不配置+ ...

  10. Mac下搭建python开发环境

    目录 1. 安装brew 2. 安装 mysql 3. 安装 pycharm 4. 安装python3.6 5. 安装virtualenvwrapper 6. 虚拟环境下安装mysqlclient 1 ...