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#类的更多相关文章

  1. C++11中对类(class)新增的特性

    C++11中对类(class)新增的特性 default/delete 控制默认函数 在我们没有显式定义类的复制构造函数和赋值操作符的情况下,编译器会为我们生成默认的这两个函数: 默认的赋值函数以内存 ...

  2. Android快速开发不可或缺的11个工具类

     Android快速开发不可或缺的11个工具类  :http://www.devst ore.cn/code/info/363.html

  3. c++11 可变参数模板类

    c++11 可变参数模板类 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #inc ...

  4. 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 ...

  5. Js笔记-第11课

    // 第11课         作用域精解     运行期上下文,当函数执行时,会创建一个成为执行期上下文的内部对象.一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是独 ...

  6. 第11课 - enum, sizeof, typedef 分析

    第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...

  7. C++ primer plus读书笔记——第11章 使用类

    第11章 使用类 1. 运算符重载是一种形式的C++多态. 2. 不要返回指向局部变量或临时对象的引用.函数执行完毕后,局部变量和临时对象将消失,引用将指向不存在的数据. 3. 运算符重载的格式如下: ...

  8. 第11课 Qt中的字符串类

    1. 历史遗留问题和解决方案 (1)历史遗留问题 ①C语言不支持真正意义上的字符串 ②C语言用字符数组和一组函数实现字符串操作 ③C语言不支持自定义类型,因此无法获得字符串类型 (2)解决方案 ①从C ...

  9. C++11 单例类实现

    单例类: (1) 单例类保证全局只有一个唯一的实例对象. (2) 单例类保证只有唯一的接口获取这唯一实例. 非线程安全的单例类举例: class CSingleton { public: ~CSing ...

随机推荐

  1. vue-router 响应路由参数的变化

    提醒一下,当使用路由参数时,例如从 /user/foo 导航到 /user/bar,原来的组件实例会被复用.因为两个路由都渲染同个组件,比起销毁再创建,复用则显得更加高效.不过,这也意味着组件的生命周 ...

  2. C++_友元函数(转)

    1.为什么要引入友元函数:在实现类之间数据共享时,减少系统开销,提高效率 具体来说:为了使其他类的成员函数直接访问该类的私有变量 即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同 ...

  3. 效果超赞的基于js的chat组件和图形动画组件

    chat组件的地址是:http://ecomfe.github.io/echarts/doc/doc.html 图像动画组件的地址是:http://ecomfe.github.io/zrender/i ...

  4. UIScrollView翻书效果

    代码地址如下:http://www.demodashi.com/demo/12695.html 前言:看到凤凰新闻 头条栏目的编辑推荐新闻是这个效果,觉得不错,就想着实现一下,以下就是我的实现过程. ...

  5. 【翻译自mos文章】asm 归档路径满了

    asm 归档路径满了 參考原文: ASM Archive destination is full. (Doc ID 351547.1) 适用于: Oracle Server - Enterprise ...

  6. [JAVA &#183; 0基础]:11.终结者-final

    关于finalkeyword的总结,是非常easy学习和掌握的,大致分为用final修饰的符号常量.类.方法.属性四部分.而这四部分的内容也是我们必须掌握的,非常有用.在项目中常常来利用finalke ...

  7. SVN版本控制图标未显示或显示异常

    TortoiseSVN下载的文件和文件夹如果缺失了那些花花绿绿的状态小图标,很容易逼死某些强迫症患者,更何况这些小图标用处多多 接下来我会逐步展示从常规到非常规的一系列解决方案(不包括重装重启这一类) ...

  8. gulp配置,实例演示

    项目完成后的目录 我们所需要的插件为:gulp-minify-css gulp-concat gulp-uglify gulp-rename del 如下图所示,完成后的项目目录结构: 附加,获取pa ...

  9. iOS开发之 AES+Base64数据混合加密与解密

    2016-04-08 09:03 编辑: liubinqww 分类:iOS开发 来源:liubinqww 投稿 4 889     "APP的数据安全已经牵动着我们开发者的心,简单的MD5/ ...

  10. Live555 中的客户端动态库.so的调用方式之一 程序中调用

    1.  打开动态链接库:    #include <dlfcn.h>    void *dlopen(const char *filename, int flag);    该函数返回操作 ...