关于“类型”的杂记

//类型
            /* string s = Console.ReadLine();
            int i = s.Length;//这是获取字符串长度,并返回int值,需要int类型接受。“属性”无需括号
            s = s.Trim();//去掉字符串前后的空格。“方法”需用括号
            //s=s.TrimStart();去掉字符串前面的空格
            //s=s.TrimEnd();去掉字符串后面的空格
            s = s.ToUpper();//字符串全大写
            //s= s.ToLower();字符串全小写
            s = s.Substring(6, 8);//(m(m为0时指第一位),截取n个)
            s = s.Replace(m,n);(所有m替换成n)*/

Console.Write("交出身份证号!:");
            string s = Console.ReadLine();
            string nian="0";
            string yue="0";
            string ri="0";
            try
            {
                nian = s.Substring(6, 4);
                yue = s.Substring(10, 2);
                ri = s.Substring(12, 2);
            }
            catch (Exception e)
            {
                Console.Write("似乎出现了错误"+e);
            }
                Console.WriteLine("出生于"+nian+"年"+yue+"月"+ri+"日");
            Console.ReadLine();
           
            int i=s.IndexOf("3");//索引,匹配值第一次出现的位置
            //int i = s.IndexOf("3", 5);//匹配值在第5位之后,第一次出现的位置
            //int i = s.LastIndexOf("3");//匹配值最后一次出现的位置
            Console.Write("3第一次出现在"+i);
            Console.ReadLine();

bool b = s.StartsWith("3703");//判断字符串的开头是|否为括号内的值,返回bool类型
            //bool b = s.EndsWith("631x");//判断字符串的结尾是否为括号内的值,同上
                Console.Write("开头不对!"+b);
                Console.ReadLine();

/*double x = double.Parse(s);
                s = x.ToString("#.00");//四舍五入取小数点后两位,整数会带.00。“#.##”下,整数不会带.00
                s = i.ToString("#,#");//从右往左,每三位加一个逗号*/

时间: 2024-07-30 09:52:26

关于“类型”的杂记的相关文章

C++杂记:运行时类型识别(RTTI)与动态类型转换原理

运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast. 1. typeid操作符的实现 1.1. 静态类型的情形 C++中支持使用typeid关键字获取对象类型信息,它的返回值类型是const std::type_info&,例: #include <typeinfo> #include <cassert> struct B {} b, c; struct D : B {

【转载】C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理

原文:C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理 运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast. 1. typeid操作符的实现 1.1. 静态类型的情形 C++中支持使用typeid关键字获取对象类型信息,它的返回值类型是const std::type_info&,例: #include <typeinfo> #include <cassert>

C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理

运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast. 1. typeid操作符的实现 1.1. 静态类型的情形 C++中支持使用typeid关键字获取对象类型信息,它的返回值类型是const std::type_info&,例: #include <typeinfo> #include <cassert> struct B {} b, c; struct D : B {

【转载】C/C++杂记:虚函数的实现的基本原理

原文:C/C++杂记:虚函数的实现的基本原理 1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针.例: 其中: B的虚函数表中存放着B::foo和B::bar两个函数指针. D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz. 提示:为了描述方便,本文在探讨对象内存布局时,将忽略内存对齐对布局的影响.

C/C++杂记:虚函数的实现的基本原理

1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针.例: 其中: B的虚函数表中存放着B::foo和B::bar两个函数指针. D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz. 提示:为了描述方便,本文在探讨对象内存布局时,将忽略内存对齐对布局的影响. 2. 虚函数表构造过程 从编译器的角度来说,

JNI使用杂记

今天遇到一个需要在java里面调用C++的情况,网上一查,吓了一跳,原来这个东东还有专门的方法:JNI 废话不说,先上笔记: 听到这个名词后,我首先找到了如下一篇超好的文章 Linux下JNI的使用[转] Linux下 JNI的使用 学习Android其中涉及对JNI的使用,对于这种跨语言的调用真没有见过, Java也都是最近才学的更别说对JNI的了解了, JNI的使用对于Android来说又是十分的重要和关键.那么到底Java到底是如何调用C/C++的, 通过网络达人的总结中学习,自己也顺便总

html5css3杂记

最新版本的safari.chrome.firefox以及opera支持某些html5特性.ie9将支持某些html5特性. html5提供了展现视频的标准<video>支持ogg及mpeg4等格式.音频〈audio〉. <canvas>用于在网页上绘制图形,使用js,调用绘图api.而svg.vml是使用xml描述绘图. html5 web存储:通过js来存储和访问数据:而客户端存储分为localStorage(存储的数据无时间限制,如纪录访问次数)和sessionStorage(

【转载】C/C++杂记:深入理解数据成员指针、函数成员指针

原文:C/C++杂记:深入理解数据成员指针.函数成员指针 1. 数据成员指针 对于普通指针变量来说,其值是它所指向的地址,0表示空指针.而对于数据成员指针变量来说,其值是数据成员所在地址相对于对象起始地址的偏移值,空指针用-1表示.例: 代码示例:   2. 函数成员指针 函数成员指针与普通函数指针相比,其size为普通函数指针的两倍(x64下为16字节),分为:ptr和adj两部分. (1) 非虚函数成员指针 ptr部分内容为函数指针(指向一个全局函数,该函数的第一个参数为this指针),ad

【转载】C/C++杂记:深入虚表结构

原文:C/C++杂记:深入虚表结构 1. 虚表与“虚函数表” 在“C/C++杂记:虚函数的实现的基本原理”一文中曾提到“虚函数表”的概念,只是为了便于理解,事实是:虚函数表并不真的独立存在,它只是虚表(virtual table)中的一部分内容.例: 从图中可已看出,虚表除了包含虚函数指针,还包含其它一些信息(如:RTTI信息.偏移值等). 顺便介绍一下gcc的-fdump-class-hierarchy选项,它可以用于输出C++程序的虚表结构(在当前目录下生成一个.class文件),例: 2.