一、转义字符:
(1)当输出一个字符串时,比如:Console.WriteLine("这是一支铅笔");,
此时若想给“铅笔”加上双引号:Console.WriteLine("这是一支"铅笔"");,
由于程序会将前两个一号识别为一组,后两个识别为一组,所以就会报错:
这样就需要转义字符\:Console.WriteLine("这是一支\"铅笔\"");
(2)/u + 16进制数字可表示对应字符,如:\u0027表示'。
二、@字符:
(1)字符串前加@,除去\"外,其他转义字符都将不识别。
(2)路径字符串读取时,由于\转义字符的原因,需要写双斜杠,"C:\\xxx\\xxx.xxx",而加@后就可以省去一个@"C:\xxx\xxx.xxx",可读性更高。
(3)正常情况下,一个字符串分两行以后,是无法识别的:
此时我们可以使用@字符:
三、不同类型变量的数学运算:
两个不同类型变量进行运算,返回值跟大类型保持一致,如int+float,会返回float。此外一个string+int,比如:"123" + 45会返回"12345",这样int + "",就可以转为string。
四、三元运算符:
<test> ? <resultIfTrue> : <resultIfFalse>
例如:
string resStr = (myInteger<10) ? "Less than 10" : "Greater than or equal to 10";
五、goto、do while、break等语句的使用:
(1)goto:
goto语句需要定义便签,使用goto直接跳转到标签语句,例如:
(2)while和do while:
do while 会先执行一遍循环体。
(3)break和return:
break:跳出当前循环;return:结束当前方法。
(4)continue:
结束本次循环,并开始新的循环。
六、结构体:
class Program
{
struct Position
{
public int x;
public int y;
public int z;
public Position(int x, int y, int z) : this()
{
this.x = x;
this.y = y;
this.z = z;
}
}
static void Main(string[] args)
{
Position pos1 = new Position(0,1,0);
}
}
七、字符串:
string:
ToLower():转化为小写,(对原字符串无影响);
ToUpper():转化为大写,(对原字符串无影响);
Trim():去除前后空格,TrimStart()、TrimEnd()分别为去除前后空格,(对原字符串无影响);
Splite():把原字符串按指定字符串进行拆分,得到字符串数组。
CompareTo():比较字符串的内容。
Replace():用另一个字符或者字符串替换字符串中给定的字符或者字符串。
SubString():在字符串中检索给定位置的子字符串。
Concat():合并字符串。
CopyTo():把字符串中指定的字符复制到一个数组中。
Format():格式化字符串。
IndexOf():取得字符串第一次出现某个给定字符串或者字符的位置 。
Insert():把一个字符串实例插入到另一个字符串实例的制定索引处。
Join():合并字符串数组,创建一个新字符串。
在此说一下string和StringBuilder,由于StringBuilder在申请内存空间后,进行加减操作不需要频繁开辟空间,效率更高(个人理解为 内存换效率),所以在需要对字符串进行频繁增删操作时,更适合用StringBuilder。
注(Siki 的话):关于string字符串:string创建的字符串实际上是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串就不能改变内容了,上面的示例中实际上是创建了一个新的字符串,把旧字符串的内容复制到新字符串中。然后把新字符串的引用赋值为字符串的对象。(重复修改给定的字符串,效率会很低)
StringBuilder:
Append():方法,给当前字符串追加一个字符
Insert():追加特定格式的字符串
Remove():从当前字符串中删除字符
Replace():在当前字符串中,用某个字符或者字符串全部替换另一个字符或者字符串
ToString():把当前stringBuilder中存储的字符串,提取成一个不可变的字符串
八、排序:
class Program
{
static void Main(string[] args)
{
List<int> myList;
myList = new List<int>() { 1, 2, 10, 3, 5, 29 };
myList.Sort();
for (int i = 0; i < myList.Count; i++)
{
Console.WriteLine(myList[i]);
}
}
}