Day3
一、null-Colascing Operator——空并运算符
1、基础的使用
例如:

object o = null;
var output = o?.ToString() ?? "Default Value";
输入结果:type : System.String
value:Default Vaule
二、null-conditional Operators
int?age = null;
if(person != null)
age = person.Age;
public class Person
{
public int Age{get; set;}
public string Name {get;set;}
}
三、nameof Operator
nameof 表达式可生成变量、类型或成员的名称作为字符串常量:
\,
对于类型和命名空间,生成的名称不是完全限定的名称,注意的是在有@的情况下,@不输出。nameof 表达式在编译时进行求值,在运行时无效。

四、Verbatim String ——逐句字符串
Var str = @""" i dont think so,"" he said";
Console.WriteLine(str);
输出:" i dont think so," he said
2、在C#中\加一些字母会组成转义字符。
- \r:回车
- \n:换行
- \r\n:跳转到下一行
- \t:占一个Tab键
- \b:是控制台的光标回退一格
- @ 消除转义字符作用
五、Common String Operations
1、string.format()
String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项。
String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。
String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。
String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。
String.Format (String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。
String.Format (String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项
例如:
2、反转字符串
.reverse();
3、Padding a string to a fifixed length——自动补齐字段长度
括号里面逗号右边是char 所以要用单引号!!!或者convert
left是左补,right是右补。
4、Getting x characters from the right side of a string


5、Checking for empty String using


从结果可以看出空格、转义字符对于IsNullOrEmpty结果是FALSE,对于IsNullOrWhiteSpace来说是true。
7、Convert Decimal Number to Binary,Octal and Hexadecimal Format——各进制的装换
Convert.——类型转换


a、十进制转换为2进制
b、十进制转换为8进制
c、十进制转换为16进制

8、construct a string from array ——从数组构造字符串



9、splitting a string by specific ——按特定字符串拆分字符串

Split

StartsWith


replace

changing the case of characters within a string

string Concatenation

Date Format



对照表
| 符号 | 语法 | 示例(2016-05-09 13:09:55:2350) | 格式说明 |
| y | DateTime.Now.ToString() | 2016/5/9 13:09:55 | 短日期 长时间 |
| d | DateTime.Now.ToString("d") | 2016/5/9 | 短日期 |
| D | DateTime.Now.ToString("D") | 2016年5月9日 | 长日期 |
| f | DateTime.Now.ToString("f") | 2016年5月9日 13:09 | 长日期 短时间 |
| F | DateTime.Now.ToString("F") | 2016年5月9日 13:09:55 | 长日期 长时间 |
| g | DateTime.Now.ToString("g") | 2016/5/9 13:09 | 短日期 短时间 |
| G | DateTime.Now.ToString("G") | 2016/5/9 13:09:55 | 短日期 长时间 |
| t | DateTime.Now.ToString("t") | 13:09 | 短时间 |
| T | DateTime.Now.ToString("T") | 13:09:55 | 长时间 |
| u | DateTime.Now.ToString("u") | 2016-05-09 13:09:55Z | |
| U | DateTime.Now.ToString("U") | 2016年5月9日 5:09:55 | 本初子午线的长日期和长时间 |
| m | DateTime.Now.ToString("m") | 5月9日 | |
| M | DateTime.Now.ToString("M") | 5月9日 | |
| r | DateTime.Now.ToString("r") | Mon, 09 May 2016 13:09:55 GMT | |
| R | DateTime.Now.ToString("R") | Mon, 09 May 2016 13:09:55 GMT | |
| y | DateTime.Now.ToString("y") | 2016年5月 | |
| Y | DateTime.Now.ToString("Y") | 2016年5月 | |
| o | DateTime.Now.ToString("o") | 2016-05-09T13:09:55.2350000 | |
| O | DateTime.Now.ToString("O") | 2016-05-09T13:09:55.2350000 | |
| s | DateTime.Now.ToString("s") | 2016-05-09T13:09:55 |

浙公网安备 33010602011771号