3.11课·········C#类
String类:
.Length 字符的长度,返回一个int类型的值
.Trim() 去掉开头以及结尾的空格
.TrimStart() 去掉字符串开头的空格
.TrimEnd() 去掉字符串后面的空格
.ToUpper() 全部大写
.ToLower() 全部小写
Substring(起始位置,截取长度)
Substring(起始位置) 只写起始位置,可以截取到尾
身份证截取生日:
Console.Write("请输入身份证号:");
string s = Console.ReadLine();
if (s.Length == )
{
string y = s.Substring(, );
string m = s.Substring(, );
string d = s.Substring(, );
Console.WriteLine("您的生日是"+y+"年"+m+"月"+d+"日.");
}
else
{
Console.WriteLine("输入有误!");
}
IndexOf("字符串") 返回第一次出现此字符串的索引
LastIndexOf("字符串") 返回最后一次出现此字符串的索引
StartsWith("字符串") 是否以此字符串为开头,返回True或False
EndsWith("字符串") 是否以此字符串为结尾
Contains("字符串") 是否包含此字符串。返回True或者False
Replace("老字","新字") 将老字用新字替换
//string a = " abcdEfGh6t9w ";//前面4个空格,后面2个空格
//int i = a.Length;//i==18//一个空格算一个字符//获取字符串a的长度,返回一个int类型的值
//string b = a.Substring(6);//从第7个字符开始截取后面所有的字符串//b=="cdEfGh6t9w "
//string b = a.Substring(6, 5);//从第7个字符开始截取5个字符//b=="cdEfG"
//int c = a.IndexOf("d");//从前面开始找,找到第一个,从0开始数它的索引号//第一个"d"的索引号//若找不到则为-1
//int d = a.LastIndexOf("d");//从后面开始找,找到第一个,从0开始数它的索引号//最后一个"d"的索引号//若找不到则为-1
//若c==d,则a中只有一个"d"
练习:判断邮箱格式是否正确
1.有且只能有一个@
2.不能以@开头
3.@之后至少有一个.
4.@和.不能靠在一起
5.不能以.结尾
Console.Write("请输入您的邮箱号:");
string mail = Console.ReadLine();
bool a = mail.Contains("@");
if (a == true)//首先确认包含@
{
int b = mail.IndexOf("@");//从前面数索引号
int c = mail.LastIndexOf("@");//从后面数索引号
if (b == c)//只有一个@
{
if (b != )//不能以@开头
{
string mail1 = mail.Substring(b);//从@开始后面的索引号
if (mail1.Contains("."))//@后至少有一个.
{
int d = mail1.IndexOf(".");//从前面数.的索引号
if (d != )//@和.不在一起
{
int e = mail1.LastIndexOf(".");//从后面数.的索引号
if (e != mail1.Length - )//长度从1开始,而索引从0开始,所以长度需-1//不以.结尾
{
Console.WriteLine("您的邮箱格式输入正确!");
}
else
{
Console.WriteLine("不能以.结尾");
}
}
else
{
Console.WriteLine("@不能和.在一起");
}
}
else
{
Console.WriteLine("@后至少有一个.");
}
}
else
{
Console.WriteLine("不能以@开头!");
}
}
else
{
Console.WriteLine("邮箱号只能有一个@!");
}
}
else
{
Console.WriteLine("邮箱号必须包含@!");
}
Console.ReadLine();
随机数类`````Random
Random ran = new Random();//初始化
int s=ran.Next();//返回非负随机数
int a = ran.Next(10);//10以内的随机整数
int b =ran.Next(s.Length);//小于字符串s长度的随机一个数
int c = ran.Next(10,100);//10~100范围内的随机数,c>=10&&c<100,范围的上线必须大于等于范围的下线
随机出验证码,对照输入,判断正误!若输入错误,请重新输入:
string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQUVWXUZ0123456789";//长度为62,索引0~61
Random ran = new Random();
for (; ; )
{
string biao = "";
for (int i = ; i <= ; i++)//取四个字符
{
biao += s.Substring(ran.Next(s.Length), );//从小于字符串s长度的随机一个位置截取一个字符//biao是string类型,+表示拼接
}
Console.WriteLine(biao);
Console.Write("请输入验证码:");
string shu = Console.ReadLine();
if (shu.ToLower() == biao.ToLower())
{
Console.WriteLine("输入正确!");
break;
}
else
{
Console.Clear();//清屏,将屏幕上的信息都清掉
Console.WriteLine("输入错误!");
}
}
Console.ReadLine();
math类
double a = 3.5;
Console.WriteLine(Math.Ceiling(a));//上线//4
Console.WriteLine(Math.Floor(a));//下线//3
Console.WriteLine(Math.PI*a);//π,圆周率
Console.WriteLine(Math.Sqrt(a));//开平方根
Console.WriteLine(Math.Round(a));//四舍五入//奇数.5取上线,偶数.5取下线
3.11课·········C#类的更多相关文章
- C++11中对类(class)新增的特性
C++11中对类(class)新增的特性 default/delete 控制默认函数 在我们没有显式定义类的复制构造函数和赋值操作符的情况下,编译器会为我们生成默认的这两个函数: 默认的赋值函数以内存 ...
- Android快速开发不可或缺的11个工具类
Android快速开发不可或缺的11个工具类 :http://www.devst ore.cn/code/info/363.html
- c++11 可变参数模板类
c++11 可变参数模板类 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...
- OPENGL NEHE Lesson11 11课的计算公式推导
计算多边形公式推导: 条件x 离散的值从0到45; y离散的值从0到45; z是符合正弦波. 问题: 1 要求x’=f(x)映射到 x’ ∈[-4.5, 4.5], x ∈{0, 1, 2, …, 4 ...
- Js笔记-第11课
// 第11课 作用域精解 运行期上下文,当函数执行时,会创建一个成为执行期上下文的内部对象.一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是独 ...
- 第11课 - enum, sizeof, typedef 分析
第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...
- C++ primer plus读书笔记——第11章 使用类
第11章 使用类 1. 运算符重载是一种形式的C++多态. 2. 不要返回指向局部变量或临时对象的引用.函数执行完毕后,局部变量和临时对象将消失,引用将指向不存在的数据. 3. 运算符重载的格式如下: ...
- 第11课 Qt中的字符串类
1. 历史遗留问题和解决方案 (1)历史遗留问题 ①C语言不支持真正意义上的字符串 ②C语言用字符数组和一组函数实现字符串操作 ③C语言不支持自定义类型,因此无法获得字符串类型 (2)解决方案 ①从C ...
- C++11 单例类实现
单例类: (1) 单例类保证全局只有一个唯一的实例对象. (2) 单例类保证只有唯一的接口获取这唯一实例. 非线程安全的单例类举例: class CSingleton { public: ~CSing ...
随机推荐
- 【BIEE】11_根据显示指标展示不同报表
报表开发过程中,我们经常会需要根据所选择的不同指标,展示不同的报表!例如: 显示指标有:金额与合同数,可以根据显示指标选择的内容进行相应报表数据展示 一.环境准备 create table crm_i ...
- Ros 中的多线程
参考文献:http://blog.csdn.net/sinat_27554409/article/details/48446611 老王说ROS http://blog.csdn.net/yake ...
- 【leetcode】118. Pascal's Triangle
@requires_authorization @author johnsondu @create_time 2015.7.23 19:54 @url [Pascal's Triangle](http ...
- vim 窗口管理
一.切分窗口 1. 水平切分 命令::sp file 快捷键:<Ctrl-W> + S 2. 垂直切分 命令: :vsp file 快捷键:<Ctrl-W> + V 二.关 ...
- script 标签 幼儿园级别的神坑。居然还让我踩到了。
这样的写法,会导致页面出现问题,就类似被中断了一样,百思不得其解还以为是代码出了问题. <script src="./Components/ProcessLine/ProcessLin ...
- VMware网络连接 桥接、NAt、host-only模式
如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特殊的调试工作.此时,对虚拟系统网络连接模式的选择就非常重要了.如果你选择的工作模式不正确,就无法实现上述目的,也就 ...
- 如何自定义View
1. 首先 在values目录下建立attrs.xml文件,添加属性内容 ·在布局文件中添加新的命名空间xmlns,然后可以使用命名空间给自定义的空间设置属性 attrs.xml <resour ...
- prometheus监控方案
简介 prometheus 是一个开源的系统监控和告警的工具包,其采用pull方式采集时间序列,通过http协议传输. 架构 每个应用都通过javaagent向外提供一个http服务暴露出自己的JMX ...
- JQuery+Json 省市区三级联动
一.画面以及JS <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content=&qu ...
- js父页面和子页面之间传值
今天和朋友一块讨论,怎样通过js在父页面和子页面之间传值的问题,总结例如以下: 需求描写叙述:父页面有多个子页面.实如今父页面点击子页面,传值到子页面. 看着非常easy,试了好久.主要纠结在怎样获取 ...