码迷,mamicode.com
首页 > Windows程序 > 详细

C#-VS字符串、日期、时间和时间段

时间:2015-10-26 22:40:09      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:

  • 小知识
哈希表,内存中的对象,用速度很快的哈希表当字典表,记录主键和内容。
@,遇到转义字符,不转义,直接输出,即就是。转义字符是反斜杠/
全部的内置类型都用类和结构描述。值类型用结构,引用类型用类。如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字符串、日期、时间和时间段

标签:

原文地址:http://www.cnblogs.com/yinlg/p/4904744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!