C#(类)
一、String类
string s = " abCDefgb ";
int a = s.Length;//获取长度
Console.WriteLine(s.Length);
Console.Write(s.Trim());//去掉前后空格
Console.Write(s.TrimStart());//只去掉前面的空格
Console.WriteLine(123);
Console.Write(s.TrimEnd());//只去掉后面的空格
Console.WriteLine(s.ToUpper());//将全部小写字母转换为大写
Console.WriteLine(s.ToLower());//将所有大写字母转换为小写
Console.WriteLine(s.IndexOf("abc"));//返回第一次出现该字符或字符串的索引号
注意:索引号是从0开始
返回值为-1.表示没有找到该字符或字符串
Console.WriteLine(s.LastIndexOf("b"));//返回最后一次出现该字符或字符串的索引号
//substring截取字符串
写一个参数的时候,表示从这个索引号开始截取,一直到最后
两个参数表示,从哪个位置开始截取,截取多长
Console.WriteLine(s.StartsWith("ab"));//startswith 是否以**字符串开头
Console.WriteLine(s.EndsWith("b"));//endswith 是否以**字符串结尾
Console.WriteLine(s.Contains("CD"));//contains 是否包含
Console.WriteLine(s.Replace("b","BB"));//replace 替换
Console.WriteLine(s);
Console.ReadLine();
练习:判断邮箱格式是否正确
1.有且只能有一个@
2.不能以@开头
3.@之后至少有一个.
4.@和.不能靠在一起
5.不能以.结尾
Console.Write("请输入您的邮箱账号:");
string mail = Console.ReadLine();
if (mail.Contains("@"))
{
int a = mail.IndexOf("@");
int b = mail.LastIndexOf("@");
if (a == b)
{
if (!mail.StartsWith("@"))
{
string mail1 = mail.Substring(a);
if (mail1.Contains("."))
{
int c = mail1.IndexOf(".");
if (c != )
{
if (mail.Substring(a - , ) != ".")
{
if (!mail.EndsWith("."))
{
Console.WriteLine("邮箱格式正确,您输入的邮箱账号是:"+mail);
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
}
else
{
Console.WriteLine("您的邮箱格式不正确!");
}
Console.ReadLine();
二、Math类 数学类
Console.WriteLine(Math.Ceiling(4.4));//ceiling 取上限
Console.WriteLine(Math.Floor(4.4));//floor 取下限
Console.WriteLine(Math.Sqrt(4));//sqrt 开平方根
Console.WriteLine(Math.PI);//pi π 3.141592
Console.WriteLine(Math.Round(4.5));//round 四舍五入
//奇数.5的时候取得是上限
//偶数.5的时候取得是下限
Console.ReadLine();
三、DateTime 时间日期类型
DateTime dt = new DateTime();//使用之前应该进行初始化
DateTime dt = DateTime.Now;//获取当前时间
Console.WriteLine(dt);
Console.WriteLine(dt.Month);
获取年 dt.Year
获取月 dt.Month
获取日 dt.Day
获取小时 dt.Hour
获取分 dt.Minute
获取秒 dt.Second
Add() 增加或减少
TimeSpan span = new TimeSpan(3, 3, 3, 3);
Console.WriteLine(dt.Add(span));
//增加多少天
Console.WriteLine( dt.AddDays(-7.5));
四、随机数类 Random
初始化
Random ran = new Random();
int a = ran.Next(101);
int b = ran.Next(1,37);
练习
1.计算距离里约奥运会还有多少小时,北京时间8月6日 7:00开幕还有多少秒,秒数倒计时
DateTime dt1 = new DateTime();
dt1 = DateTime.Parse("2016/08/06 07:00:00");
DateTime dt2 = DateTime.Now;
int miao = (int)(dt1 - dt2).TotalSeconds;
for (; ; )
{
Console.WriteLine("距离奥运会开幕还有"+miao+"秒。");
System.Threading.Thread.Sleep();
miao--;
Console.Clear();
}
Console.ReadLine();
C#(类)的更多相关文章
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- C++ 可配置的类工厂
项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- PHP-解析验证码类--学习笔记
1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1 定义变量 //随机因子 private $char ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
随机推荐
- Integer相加产生的类型转换问题
做项目时犯二没有搞清楚优先级的问题从而暴露出一个Integer相加而产生的类型转换的问题 Integer a; Integer b; Integer c; c= a+b==null?a:b; jav ...
- html4.0.1,h5,xhml,文档声明区别
<!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 提示:请始终向 HTML 文档添加 <!DOCTYPE> ...
- Linux下串口与工业协议的开发
1.串口通信原理 串口通信定义 串口通信:数据的串行传送方式.串口通信可分为同步通信与异步通信. 同步通信:按照软件识别同步字符来实现数据的发送和接收. 将许多字符组成一个信息组进行发送 要求发送时钟 ...
- 常用的文件和目录操作命令【转vbird】
cdpwdmkdirrmdirlscprmmvcattacnlmorelessheadtailtouch cd (变换目录) 我们知道vbird这个使用者的家目录是/home/vbird/,而root ...
- 论文阅读之 A Convex Optimization Framework for Active Learning
A Convex Optimization Framework for Active Learning Active learning is the problem of progressively ...
- Oracle数据库—— PL/SQL基础编程
一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...
- oracle参数与启停
oracle随系统启动而启动 cs65-64桌面版orcle-11.2.0.4 启动监听器,后台进程,OEM. 注意: 如果只做一和三,只能启动后台进程,监听器不启动,如果只做二和三,只能启动监听器, ...
- linux概念之时间与时区
http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html Linux时间基准 以上我们了解了RTC(实时时钟.硬件时钟)和OS时钟(系 ...
- 认识js函数对象(Function Object)
认识函数对象(Function Object) 可以用function关键字定义一个函数,对于每个函数可以为其指定一个函数名,通过函 数名来进行调用.这些都是代码给用户的印象,而在JavaScript ...
- no ocijdbc11 in java.library.path linux
no ocijdbc11 in java.library.path linux vi /etc/profile export ORACLE_HOME=/oracle/database/oracle/p ...