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


    • 小知识
    哈希表,内存中的对象,用速度很快的哈希表当字典表,记录主键和内容。
    @,遇到转义字符,不转义,直接输出,即就是。转义字符是反斜杠/
    全部的内置类型都用类和结构描述。值类型用结构,引用类型用类。如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
        
        
     
        
  • 相关阅读:
    Tomcat集群Cluster实现原理剖析[转] 文件同步
    看到一个比较好的jbpm教程,感谢一下
    vi显示行号
    安装apache2参数详解
    Windows平台下查看占用端口的程序
    struts2中使用token避免重复提交
    在window下安装开源的中文界面的项目管理软件Redmine
    Java中数据存储
    求素数算法网摘
    模式工程化实现及扩展读书笔记——设计原则
  • 原文地址:https://www.cnblogs.com/yinlg/p/4904744.html
Copyright © 2020-2023  润新知