您的位置:首页 > 编程语言 > C#

c#基于这些,你已经看到了?(一)-----谁才刚刚开始学习使用

2015-09-16 21:29 323 查看
1、注视(不要写的目光是流氓,从废话名盲人)

‘///’一般用于目光功能。凝视类。

2、热键

ctrl+k+d(有语法错误无法进行对齐)

ctrl+j(高速弹出仅仅能提示)

shift+end,shift+home 键从行首到行尾,从行尾到行首。

ctrl+k+c 凝视 ctrl+k+u取消凝视

alt+shift+f10 打开说明引用空间。

f1转到msdn

f12转到定义

3、数据类型

decimal money=5000m。(金钱类型)

String 和string在c#中都一样。String是.net平台中共用类型。string是c#中专有的。它们两个都会映射到System.class类中。

4、命名规范

*1、Camel命名规范(多用于变量命名):首单词首字母小写,其余单词首字母大写。

*2、Pascal命名规范(多用于类或者方法命名):全部单词首字母大写。

5、占位符

用法:先挖个坑。再填个坑。

Console.WriteLine("..{0},...{1},...{2}",n1,n2,n3);

6、转义符

\n:换行,可是在windows系统中不认识\n,仅仅认识\r\n。

\":输出半角引號

\t:tab键(排版)

\b:退格。首尾放置无效。仅仅是退格一个。

@:1、取消\在字符串中的转义作用。

2、保留原格式输出。

7、枚举

=====枚举与int和string之间转换===

@1、枚举类型默认能够和int类型相互转换 枚举类型跟int是兼容的

@2、枚举类型转换成string,用toString()。

枚举类型 对象名 =(枚举类型)Enum.Parse(typeof(枚举名),string s);

8、属性

惯使用方法:属性开头字母大写。字段开头字母小写。

class Person

{

private int age;

public int Age

{

set

{

this.age=value;

}

get

{

return this.age;

}

}

9、c#中无全局变量一说,仅仅能用静态字段来模拟全局变量。

10、c#中三大參数

1)out參数:

假设在一个方法中返回多个同样类型的值的时候,能够考虑返回一个数组。

可是返回多个不同类型的值时就需用out。

out既能够返回多个同样值也能够返回多个不同值。

事实上out作用就是:返回被调用函数的多个值。与一般返回方向是相反的。

注意:out定义变量必须在被调用函数中赋值。

2)ref參数:

可以将一个变量带入一个方法中改变。改变完毕后。再将改变后的值带出方法。

main()

{

int s=10。

Test(ref s)。

}

Test(ref s1)

{

s1+=3

}

3)parame參数:

可变參数

将实參列表中与可变參数数组中类型一致的类型当作数组的元素。既实參能够不用声明数组。

main

{

test(“为”。34,389。34);

}

test(string name。params int[] score)

{

}

11、方法的重载和返回值无关。至于方法名、參数类型、个数有关。

12、静态与非静态的差别

1)、在非静态类中。既能够有实例成员,也能够静态方法。

静态类中仅仅能出现静态成员。

2)、在调用实例成员时候。须要使用对象名.实例成员;

在调用静态成员的时候,须要类名.静态方法。

总结:静态成员必须使用类名去调用,实例成员用对象去调用。

静态函数中仅仅能訪问静态成员,不同意訪问实例成员。

实例方法既能够使用静态成员。也能够使用实例成员。

静态类中仅仅能出现静态成员。静态类无法实例化。

使用:

1)、假设你想要你的类当做一个“工具类”去使用,这个时候能够考虑写成静态的类

2)、静态类在整个项目资源共享。

静态类是占内存的。

GC Garbage Collection 垃圾回收器。

13、构造函数

作用:帮助我们初始化对象,构造函数是一个特殊的方法。

1)构造函数没有返回值。连void也没有

2)构造函数的名称必须和类名一样。

14、new

1)在内存中开辟一块空间;

2)再开辟的空间中创建对象;

3)调用对象的构造函数初始化对象。

构造函数必须是public。

15、this

1)代表当前类的对象。

2)在类其中显式调用本类的构造函数 :this

16、在一个项目中引用还有一个项目的类

1)、先引用项目

2)、引用还有一个项目的命名空间。

17、值类型和引用类型

差别:

1、值类型和引用类型在内存上存储的地方不一样

2、在传递值类型和传递引用类型的时候传递的方式不一样。

值类型我们称之值传递,引用类型我们称之为引用传递。

值类型:int 、double、char、bool、decimal、struct、enum

引用类型:string、自己定义类

存储:

值类型存储在内存的栈中。

引用类型存储在内存的堆中。

18、字符串

1)、字符串的不可变性,假设字符串被又一次赋值,老值并不删除,而是在栈中将老的

地址删除。又一次给字符串赋予新的地址值。

当程序结束后,GC扫描整个内存。假设发现有的空间没有指向,则马上销毁。

2)、能够将string类型看作是char类型的仅仅读数组。

例:

string s="abcde";

//S[0]='B';不能这么做。由于是仅仅读的

//假设改变的话,首先需进行对string的转换。

char []chs=s.ToCharArray();

//将字符数组转换成我们的字符串

s=new string(chs);

Console.WriteLine(s[0]);

19、StringBuilder

当字符串进行大量的循环累加时,会进行大量的开辟新的内存空间。比較慢。

计时:Stopwatch Start(); Stop(); Stopwatch.Elapsed //记录执行的总时间。

StringBuilder.Append(i);追加方式进行累加。

StringBuilder会节省非常大时间。原因在于它不开辟新空间。然后再将StringBuilder转换为String

20、字符串方法

1)、Length()

2)、ToUpper()

3)、ToLower()

4)Equals(str1。StringComparision.OrdinalIgnoreCase):比較两个字符串是否一致

,并忽略大写和小写。

5)、Splite(字符数组。StringSplitOptions.RemoveEmptyEntries),则将字符数组内容删除,而且不返回空数组和null。

6)、Contains()

7)、Replace(str1,str2)

8)、string.Substring();

9)、string.StartWith()/EndWith()

10)、string.indexof()返回int类型,返回字符串首先出现的位置

11)、string.LastIndexof()最后一个字符串出现的位置。

12)、string.trim()移除字符串中全部空格。string.trimStart()/trimEnd();

13)、string.IsNullOrEmpty()

14)、string.Join();它可以被添加到阵列分隔符规定磨削。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: