|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。利用String 几种分歧的String誊写体例:
示例 品种 范例 "HumptyDumpty" 字符串 string "c:ProgramFiles" 字符串 string @"c:ProgramFiles" 无本义(Verbatim)string string "xyZy3d2"B Literalbytearray byte[] c 字符 char
本义字符:
字符 寄义 ASCII/Unicode值 示例 n 换行 10 "n" r 回车 13 "r" t Tab 9 "t" b Backspace 8 NNN 利用三位数字暗示的字符 NNN "32" (space) uNNNN Unicode字符 NNNN "u00a9" (?) UNNNNNNNN LongUnicode字符 NNNNNNNN "U00002260"(_)
Bytearray中的字符都是ASCII字符。非ASCII字符必要利用本义符。
将一个字符串写为两行:
> let s = "All the kings horses
- and all the kings men";;
val s : string
撑持经由过程.[]来会见字符串的特定字符:
> let s = "Couldnt put Humpty";;
val s : string
> s.Length;;
val it : int = 19
> s.[13];;
val it : char = H
利用.[index..index]能够猎取子字符串(substring):
> let s = "Couldnt put Humpty";;
val s : string
> s.[13..16];;
val it : string = "Hump"
字符串是不成变的(immutable);就是说,一个字符串的值在其天生以后就不克不及被改动。比方:Substring办法其实不会修正原字符串自己,而是前往了一个新的字符串。
当你视图修正一个字符串的时分,你会失掉一个error:
> let s = "Couldnt put Humpty";;
val s : string = "Couldnt put Humpty"
> s.[13] <- h;;
s.[13] <- h;;
^^
stdin(75,0): error: FS0001: Type error in the use of the overloaded operator
set_Item. The type string does not support any operators named set_Item
机关一个字符串
最复杂的体例就是利用+操纵符:
> "Couldnt put Humpty" + " " + "together again";;
val it : string = "Couldnt put Humpty together again"
我们仍然可使用System.Text.StringBuilder来构建:
> let buf = new System.Text.StringBuilder();;
val buf : System.Text.StringBuilder
> buf.Append("Humpty Dumpty");;
> buf.Append(" sat on the wall");;
> buf.ToString();;
val it : string = "Humpty Dumpty sat on the wall"
同时,F#兼容OCaml的^操纵符。(感到上和+是一回事。)
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。 |
|