• 小知识
哈希表,内存中的对象,用速度很快的哈希表当字典表,记录主键和内容。
@,遇到转义字符,不转义,直接输出,即就是。转义字符是反斜杠/
全部的内置类型都用类和结构描述。值类型用结构,引用类型用类。如int用system.Int32结构,double用system.Double结构,bool用system.Boolean结构。
对类来说,null是没有引用,到字符串,空串也是有引用对象,只是对象是内容是空的。
  • String类
string类型实际上是string类的对象,字符串、类的实例都是对象。
string类的对象不能直接被修改,通过新创建字符串对象,然后修改字符串引用到新对象来实现,后面介绍的StringBuilder类的字符串对象,可直接修改。
string类在system命名空间
属性。字符串对象名.Length
方法。string.compare("字符串1","字符串2",可选是否考虑大小写) 静态的,比较两个字符串,考虑国家的语言和文化。返回int(1,大于;0等于;-1小于);string.compare("字符串1",字符串1开始位置,"字符串2",字符串2开始位置,选取的长度)
    string.compareOrdinal("字符串1","字符串2")  静态的,比较两个字符串,考虑国家的语言和文化。比较方法里,这个最快,因为是静态的,还不考虑国际化。
   string.Concat("字符串1","字符串2",任意个...) 静态的,返回已连接的字符串,与.net重写的算数运算符+一样,因重写了字符串的,所以不是无意义的加引用。
    string.copy("字符串1")静态的,返回拷贝的新字符串,(同拷贝对象一样,返回拷贝结果——对象),与.net重写的赋值运算符=一样,所以不是拷贝引用。
    string.Equals("字符串1","字符串2"),"字符串1".Equals("字符串2"),静态和实例都有,返回bool,与.net重写的判断运算符==一样,所以不是比较两个布尔值。静态的与compare()相同,非静态的与compareto()相同,静态的因为不用创建对象,比非静态的快一些。
    string.Format("{0,长度:f浮点数:小数点后长度}", 字符串对象名1)静态的,返回根据格式格式化的字符。具体在第2章,
    Intern()静态的,string.intern(“a”),返回一个字符串引用,如果内存里有字符串对象a,就返回a的内存地址,否则就创建一个,当字符串很长时,为了提高内存的利用率,用得到,带来的问题是,这个字符串对象不会被自动垃圾回收,需要在不用时,加一行回收代码。
    Isinterned()静态,与intern()的不同是,找不到时返回null,其他一样。
    string.join(“分隔符”,“字符串数组”)静态,用提供的字符串数组和分隔符,返回字符串,是数组各元素相连的,每元素中间加提供的分隔符
    字符串名.Split("分隔符”),与join()相对,返回用指定原字符串中分隔符,分隔成的字符串数组。
    字符串对象名.copyto(字符数组,数量)非静态的,没返回值,类似split(split是按分隔符分成字符串数组),这是从字符串向字符数组拷贝指定数量的字符。    
    对象名.clone(),与copy()一样但是实例方法,返回复制了一个对象的引用,被复制对象的成员引用的对象,没有复制,即浅clone。同类的MemberwiseClone()方法一样。
    对象名.compareto(对象1名),compare()非静态的版本。
    字符串名.StartsWith("字符串"),与 endswith(字符串)类似,是否以提供的开始    
    字符串对象名.endswith("字符串"),是否以提供的结尾
    字符串对象名.GetEnumerator(),返回一个枚举器charEnumerator,它列举字符串中的字符。具体看集合
   字符串对象名. GetHashCode(),返回一个int的哈希码
    字符串对象名.getType(),返回type当前实例的类型
    字符串对象名.getTypeCode(),返回type当前实例的类型代码
    字符串对象名.indexOf(char或string,可选 指定开始查找的索引,有上一参数时可选 指定查找的字符个数),返回字符串第一次出现的指定字符或字符串的索引编号(从0开始)。正则表达式,可实现字符串的更复杂查找,附录3
    字符串对象名.LastindexOf(char或string,可选 指定开始查找的索引,有上一参数时可选 指定查找的字符个数),返回字符串最后一次出现的指定字符或字符串的索引编号(从0开始)
    字符串对象名.indexOfAny(char数组),返回char数组中第一次出现的任何字符的索引。与indexof同样有两个重写的方法,分别加参数指定开始索引和查找字符数。
    字符串对象名.LastindexOfAny(char数组),返回char数组中最后一次出现的任何字符的索引。与Lastindexof同样有两个重写的方法,分别加参数指定开始索引和查找字符数。
    字符串对象名[索引],返回指定索引位置的字符    
    字符串名.insert(索引,字符串1),把字符串1插入到 字符串名中的索引位置。     
    字符串名. Remove(索引,移除字符数),从指定的索引处删除指定数量字符    
    字符串名.  Replace(旧字符或字符串,新字符或字符串),用指定的字符或字符串替换所有指定的原字符或字符串    
    字符串名.PadLeft(总长度,可选 填充的字符),类似format("{0,长度}", 字符串对象名1),返回左边加了指定数量空格的字符串,可设置加其他符号。
    字符串名.PadRight(总长度,可选 填充的字符 不选是空格),返回右边加了指定数量空格的字符串,可设置加其他符号。
    字符串名.Substring(开始索引,长度可省略),返回子串,
    ToCharArray(),把字符串按字符存入字符数组,与 Split()类似,不同的是split用分隔符把字符串存成字符串数组,这里直接存成字符
    ToLower(),返回小写的对象拷贝,原对象不变
    ToString(),返回字符串的值
    ToUpper(),返回小写的对象拷贝,原对象不变
    字符串名. Trim(不填是空格 填是去掉首尾这个字符),返回对象拷贝,开始和结尾的空格去掉,或去掉开始和结尾的指定字符。
    字符串名. TrimEnd(不填是空格 填是去掉尾这个字符),返回对象拷贝,结尾的空格去掉,或去掉开始和结尾的指定字符。
    字符串名. TrimStart(不填是空格 填是去掉首这个字符),返回对象拷贝,开始的空格去掉,或去掉开始和结尾的指定字符。
  • StringBiulder类
与String类的对象不同的是,可直接修改对象,所以效率更高,同时,因为突破了不能直接修改的限制,操作字符串的能力更强。
这个类在system.text命名空间
创建,与String类不同,不是直接声明,而是需要用new创建。StringBiulder myStringBiulder = new StringBiulder(可选 初始长度,有上一参数时可选 最大长度 默认是最大的),重写构建方法  = new StringBiulder(”字符串“,有第一个参数时可加3参数 选取字符串的开始位置,选取长度,总容量)
属性。
    Capacity
    Length
    MaxCapacity
方法。
    StringBuilder对象名.Append(字符串) 返回StringBiulder(注意是直接修改,没拷贝副本,后面的修改方面的方法都是直接修改),结尾加了字符串。重写的是StringBuilder对象名.Append(myint变量),StringBuilder对象名.Append(mybool变量),StringBuilder对象名.Append("字符",字符重复数量),StringBuilder对象名.Append(字符串,开始索引,选取的字符数)。
    StringBuilder对象名.AppendFormat(“{0,10:f3},myfloat变量)返回StringBiulder,结尾加格式化字符串
    StringBuilder对象名.insert(索引,字符串),返回StringBuilder对象,与append和appendformat不同的是可选插入位置,重载的是StringBuilder对象名.insert(索引,字符串,字符串重复次数)
    StringBuilder对象名.Replace(旧字符串或字符,新字符串或字符),返回StringBuilder对象,替换所有的旧字符或字符串
    StringBuilder对象名.Remove(索引,数量),返回StringBuilder对象    
    StringBuilder对象名.ToString(),返回转换成字符串的拷贝对象地址引用。
    StringBuilder对象名.EnsureCapacity(),返回当前容量?,容量是否至少等于一个特定值
    StringBuilder对象名.Equals(),返回布尔值,是否等于特定对象?
    StringBuilder对象名.GetHashCode(),返回int哈希码
    StringBuilder对象名.GetType(),返回当前对象的类型  
  • DateTime结构
DateTime结构在system命名空间
结构是值类型,保存在栈中速度快,属性和方法少时,用来替代类;能不用new创建,但推荐用new;没默认构建方法,即.net没给没参数的构建方法。
DateTime结构构建实例的方法。
    new DateTime(year,month,day)
    new DateTime(year,month,day,hour,minute,second,millisecond)
    new DateTime(year,month,day,时区对象myCalendar 跟程序全球化有关 需要指定时区创建) system.Globalization.JulianCalender一种时区 mycalendar = new system.Globalization.JulianCalender(); 
     new DateTime(一个长整形的滴答数ticks 是从公元1年1月1日零点开始的 1代表千万分之一秒)  
属性
    myDateTime.year,myDateTime.month,myDateTime.day,myDateTime.hour,myDateTime.minute, myDateTime.second, myDateTime.millisecond,myDateTime.ticks 
    DateTime.Now,静态的,返回DateTime当前日期和时间
    DateTime.UtcNow,静态的,返回DateTime格林尼治时间的当前日期和时间
    DateTime.Today,静态的,返回DateTime当前日期,时间是0点(上午12点,不是中午12点)
    myDateTime.date,返回DateTime,是DateTime实例的日期部分,时间部分是0点
    myDateTime.DayOfWeek,返回DayOfWeek,周日0,周六6
    myDateTime.DayOfYear,返回int,在1~366之间
    myDateTime.TimeOfDay,返回TimeSpan,获取DateTime实例的时分秒滴答
方法
    DateTime.Compare(DateTime1,DateTime2),静态的,返回int,比较两个DateTime实例。可以使用给DateTime重写的运算符> >= < <= == !=比较DateTime实例,这些返回布尔值
    myDateTime.CompareTo(DateTime1),返回int,比较两个DateTime实例。
    myDateTime.GetDateTimeFormats(?),返回string[]字符串数组,数组里是DateTime实例的值,包含DateTime支持的所有格式?
    DateTime.DaysInMonth(year,month),静态的,返回int特定年和月的天数
    DateTime.IsLeapYear(年),静态的,返回布尔值,是否闰年即366天
    DateTime.Parse(”按日期和时间写的字符串1/15/2015  21:02:05“),静态的,返回DateTime转换,重写的方法可以转换成与特定文化相关的日期格式,全球化
    DateTime.Equals(DateTime1,DateTime2),静态的,返回布尔值是否相等,与重写给DateTime的==相同。
    DateTime1.Equals(DateTime2),有实例版本,也是返回布尔值
    myDateTime.ToFileTime(),返回long操作系统时间信息即时间戳TimeStamps,时间戳TimeStamps是1601年1月1日0点开始千万分之一秒的个数。
    DateTime.FromFileTime(时间戳数),静态的,返回DateTime文件的时间信息
    myDateTime.ToLocalTime(?),返回long把当前的全球统一时间格林尼治时间转换为计算机所选时区的时间
    myDateTime.ToLongDateString(),返回string,把日期部分转换成如”Thursday,January 15 2015“
    myDateTime.ToShortDateString(),返回string,把日期部分转换成如”1/15/2015“
    myDateTime.ToLongTimeString(),返回string,把时间部分转换成如”11:02:05 PM“
    myDateTime.ToShortTimeString(),返回string,把时间部分转换成如”11:02 PM“
    myDateTime.ToString(可选如”yyyy-MM-dd HH:mm:ss“),返回string,
    myDateTime.ToUniversalTime(),返回DateTime,把当前的本地时间即计算机选的时区时间,转换成全球同一时间UTC格林尼治时间
    myDateTime.ToOADate(),返回double,转换成OLE自动日期?
    DateTime.FromOADate(?),静态的,返回DateTime给OLE对象链接或嵌入
    DateTime.PaneExact(按日期和时间写的字符串),静态的,返回DateTime转换,字符串必须匹配特定的格式,即格式只能是一种
    myDateTime.Add(myTimeSpan),返回DateTime新建实例的引用,给DateTime加时间段TimeSpan,重写的+同样作用。
    myDateTime.Subtract(myTimeSpan或myDateTime),返回TimeSpan,重写的运算符-同样作用。    
    myDateTime.AddYears(数字代表年数),返回DateTime新建实例的引用。写负数代表减少。
    myDateTime.AddMonths(数字代表月数),返回DateTime新建实例的引用。
    myDateTime.AddDays(数字代表天数),返回DateTime新建实例的引用。
    myDateTime.AddHours(数字代表小时数),返回DateTime新建实例的引用。
    myDateTime.AddMinutes(数字代表分钟数),返回DateTime新建实例的引用。
    myDateTime.AddSeconds(数字代表秒数),返回DateTime新建实例的引用。
    myDateTime.AddMilliseconds(数字代表毫秒数),返回DateTime新建实例的引用。
    myDateTime.AddTicks(数字代表滴答数),返回DateTime新建实例的引用。   
    myDateTime.GetHashCode(?),返回int哈希码
    myDateTime.GetType(),返回Type实例类型
    
  • TimeSpan类
代表时间段
构建方法
    TimeSpan myTimeSpan = new TimeSpan(小时数,分钟数,秒数)
    TimeSpan myTimeSpan = new TimeSpan(天数,小时数,分钟数,秒数)
    TimeSpan myTimeSpan = new TimeSpan(天数,小时数,分钟数,秒数,毫米数)
    TimeSpan myTimeSpan = new TimeSpan(滴答数)
可加时间段到一个实例DateTime,如myDateTime = myDateTime +  myTimeSpan 或 myDateTime += myTimeSpan
属性。
    myTimeSpan.Days,返回int,天数部分
    myTimeSpan.Hours,返回int,小时部分
    myTimeSpan.Minutes,返回int,分钟部分
    myTimeSpan.Seconds,返回int,秒部分
    myTimeSpan.Milliseconds,返回int,毫秒部分,千分之一秒
    myTimeSpan.Ticks,返回long,转化成滴答数,千万分之一秒
    myTimeSpan.TotalDays,返回double,转化成天数
    myTimeSpan.TotalHours,返回double,转化成小时
    myTimeSpan.TotalMinutes,返回double,转化成分钟
    myTimeSpan.TotalSeconds,返回double,转化成秒
    myTimeSpan.TotalMilliseconds,返回double,转化成毫秒
方法。
    TimeSpan.Compare(myTimeSpan1,myTimeSpan2),返回int
    myTimeSpan.CompareTo(myTimeSpan1,myTimeSpan2),返回int,Compare()和CompareTo()都是返回int
    TimeSpan.Equals(myTimeSpan1,myTimeSpan2),返回bool
    myTimeSpan.Equals(myTimeSpan2),返回bool,与给TimeSpan重载的运算符==同样作用
    TimeSpan.FromDays(天数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.FromHours(小时数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.FromMinutes(分钟数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.FromSeconds(秒数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.FromMilliseconds(毫秒数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.FromTicks(滴答数),返回TimeSpan,转化成用TimeSpan.表示
    TimeSpan.Parse(”按时间段写的字符串1/15/2015  21:02:05“),返回TimeSpan
    myTimeSpan.ToString(可选填格式?),返回String
    myTimeSpan.Duration(),返回TimeSpan,取绝对值
    myTimeSpan.Negate(),返回TimeSpan,取相反数
    myTimeSpan.Add(TimeSpan),返回TimeSpan,加,与给TimeSpan重载的运算符+同样作用
    myTimeSpan.Subtract(TimeSpan),返回TimeSpan,减,与给TimeSpan重载的运算符 - 同样作用
    myTimeSpan.GetHashCode(),返回int,返回在哈希表保存的代表主键的哈希码,值代表内存地址?
    myTimeSpan.GetType(),返回Type
    
    
 
    

C#-VS字符串、日期、时间和时间段的更多相关文章

  1. linq/EF/lambda 比较字符串日期时间大小

    在使用EF时,想要比较字符串类型的日期时,参考以下: SQL语句: 1 2 3 4 1)select * from TableName where StartTime > '2015-04-08 ...

  2. JAVA中计算两个日期时间的差值竟然也有这么多门道

    上半年春招的时候,作为面试官,对于面试表现的不错的同学会要求其写一小段代码看看.题目很简单: 给定一个日期,然后计算下距离今天相差的天数. 本以为这么个问题就是用来活跃面试氛围的,但是结果却让人大跌眼 ...

  3. Apache Commons Lang之日期时间工具类

    码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...

  4. sql server日期时间转字符串

    一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基 ...

  5. SQL-数学、字符串、时间日期函数和类型转换

    --数学函数 --ABS绝对值,select ABS(-99)--ceiling取上限,select CEILING(4.5)--floor去下限select FLOOR(4.5)--power 几次 ...

  6. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  7. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  8. MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...

  9. MySQL数据库学习笔记(五)----MySQL字符串函数、日期时间函数

    一.常见字符串函数: 1.CHAR_LENGTH  获取长度(字符为单位) 2.FORMAT  格式化 3.INSERT  替换的方式插入 4.INSTR  获取位置 5.LEFT/RIGHT  取左 ...

  10. PHP基础语法: echo,var_dump, 常用函数:随机数:拆分字符串:explode()、rand()、日期时间:time()、字符串转化为时间戳:strtotime()可变参数的函数:PHP里数组长度表示方法:count($attr[指数组]);字符串长度:strlen($a)

    PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 a. 1.substr;  //用于输出字符串中,需要的某一部分 <?PHP $a="learn php"; ...

随机推荐

  1. Java并发知识(1)

    1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和 ...

  2. InitComponent的使用

    网页中的数据,有些是不在网页上改变的,像一些个人信息,比如:头像,当前用户名,友情链接等等,每次请求该页面都要重新加载,这样很消耗服务器资源,会降低服务器的性能,这个时候我们可以把这些不变的信息,统一 ...

  3. (一)由浅入深学习springboot中使用redis

    很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...

  4. delphi TEdit透明

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  5. VS Code常用快捷键总结

    目录: 1.主命令框 2.常用快捷键   (1) 编辑器与窗口管理   (2) 代码编辑     <1> 格式调整     <2> 光标相关     <3> 重构代 ...

  6. golang interface接口

    package main import "fmt" type Shaper interface { Area() float32 } type Square struct { si ...

  7. Windows平台下Flutter安装,配置,初运行。

    Flutter是什么?他是谷歌根据Dark语言开源的跨平台开发依赖.和目前比较火的Reactive Native一样,一套代码能够实现两个不同平台的App.那么为什么要介绍Flutter而不是在国内大 ...

  8. scrollLeft滚动(用animate替代)

    原: let checkedLeft1 = $('#dateBox').find('.checked').position().left let checkedLeft2 = $('#dateBox' ...

  9. hdoj1078(介绍记忆化搜索及其模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1078 思路: 这是一道典型的记忆化搜索模板题. 先介绍记忆化搜索,本质是搜索+DP. 一般说来,动态规 ...

  10. 第八章 高级搜索树 (b2)B-树:结构