跳槽来到新的公司,忽然用C#写代码,各类不适应,去网上充充电,总结一些和java不同的C#用法:java
- C# 是大小写敏感的。
- 全部的语句和表达式必须以分号(;)结尾。
- 程序的执行从 Main 方法开始。
- 与 Java 不一样的是,文件名能够不一样于类的名称。1. 这里是列表文本
- using 关键字
- using System;
- using 关键字用于在程序中包含命名空间。一个程序能够包含多个 using 语句。
- 表达式 sizeof(type) 产生以字节为单位存储对象或类型的存储尺寸
- 内置的 引用类型有:object、dynamic 和 string:
- 字符串(String)类型的值能够经过两种形式进行分配:引号和 @引号。
-
String str = "runoob.com";
-
@"runoob.com";
- class Class2 : Class1 //类Class2是类Class1的子类
- 常量是使用 const 关键字来定义的 。
- const double pi = 3.14159; // 常量声明 final
- 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符以下所示:
- Public:全部对象均可以访问;
- Private:对象自己在对象内部能够访问;
- Protected:只有该类对象及其子类对象能够访问
- Internal:同一个程序集的对象能够访问;
- Protected internal:一个程序集内的对象,或者该类对象及其子类能够访问;
- 继承类中的重写虚函数须要声明关键字 override,在方法参数传入中写(类名 形参名)例如 public void CallArea(Shape sh),意思是传入一个 shape 类型的类。
- 命名空间(Namespace) :设计目的是提供一种让一组名称与其余名称分隔开的方式。在一个命名空间中声明的类的名称与另外一个命名空间中声明的相同的类的名称不冲突。
- 委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。
- 一旦声明了委托类型,委托对象必须使用 new 关键字来建立,且与一个特定的方法有关。当建立委托时,传递到 new 语句的参数就像方法调用同样书写,可是不带有参数。
- 线程的销毁
- (1)线程自动销毁
- Thread a=new Thread(Method) th.start();
- 线程方法Method执行完结,线程a也自动终止.
- (2)若是是无限循环须要手动销毁
- 窗体应用程序的线程间通讯
- .net 2.0之后增强了安全机制,不容许在winform中直接跨线程访问控件的属性。
- 线程函数经过委托传递,是一种安全的线程间通讯的方式。也是委托的功能之一。
- 但C#也能够关闭线程安全保护,自由的调用其余线程生成的控件。只要加上
- Control.CheckForIllegalCrossThreadCalls = false;
- Microsoft Visual Studio有用的快捷键*****
- 代码自动对齐:
- Ctrl +k +f
- 调用智能提示:
- Alt+→
- 回到上一个光标位置/前进到下一个光标位置:
-
Ctrl + -
- 设置断点---F9
- 启动调试---F5
- 逐语句调试---F11
- 逐过程调试---F10