c#基础知识梳理(一)
一、c#简介
c#是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。c#看起来与java有着惊人的相似;它包括了诸如单一继承、接口、与java几乎同样的语法和编译成中间代码再运行的过程。但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司 .net windows网络框架的主角。
c#是一种安全的、稳定的、简单的、优雅的,由c和c++衍生出来的面向对象的编程语言。它在继承c和c++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。c#综合了vb简单的可视化操作和c++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.net开发的首选语言。
二、创建一个新的c#工程
开发工具:visual studio (vs)
1、启动 visual studio,在菜单栏上选择 file -> new -> project,从模板中选择 visual c#,然后选择 windows,选择 console application,为您的项目制定一个名称,然后点击 ok 按钮;
2、新项目会出现在解决方案资源管理器(solution explorer)中,在代码编辑器(code editor)中编写代码,点击 run 按钮或者按下 f5 键来运行程序。会出现一个命令提示符窗口(command prompt window),显示 输出结果。
三、c# 代码
using system;
namespace helloworldapplication
{
/* 类名为 helloworld */
class helloworld
{
/* main函数 */
static void main(string[] args)
{
/* 我的第一个 c# 程序 */
console.writeline("hello world!");
console.readkey();
}
}
}
1.using system:using 关键字用于在程序中包含 system 命名空间,一个程序一般有多个using 语句;
2.namespace声明:一个 namespace 是一系列的类,helloworldapplication 命名空间包含了类 helloworld;
3.class 声明:类 helloworld 包含了程序使用的数据和方法声明,类一般包含多个方法,方法定义了类的行为,在这里helloworld 类只有一个 main 方法;
4.main 方法:是所有 c# 程序的 入口点,main 方法说明当执行时 类将做什么动作,main 方法通过语句 console.writeline("hello world"); 指定了它的行为。
5.writeline 是一个定义在 system 命名空间中的 console 类的一个方法,该语句会在屏幕上显示消息 “hello,world!”;
四、c# 基本语法
1.using 关键字
在任何 c# 程序中的第一条语句都是:using system
using 关键字用于在程序中包含命名空间,一个程序可以包含多个 using 语句
2. class 关键字
class 关键字用于声明一个类
3. c# 注释
多行注释以 /* 开始,并以字符 */ 终止,如下所示:
/* this program demonstrates
the basic syntax of c# programming
language */
单行注释是用 '//' 符号表示。例如:
//end class rectangle
4.成员变量: 变量是类的属性或数据成员,用于存储数据;
成员函数: 函数是一系列执行指定任务的语句,类的成员函数是在类内声明的;
标识符: 标识符是用来识别类、变量、函数或任何其它用户定义的项目。
5.c#关键字
关键字是 c# 编译器预定义的保留字,这些关键字不能用作标识符
五、c# 数据类型
在 c# 中,变量分为以下几种类型: 值类型(value types) 引用类型(reference types) 指针类型(pointer types)
1.值类型(value types)
值类型(value types):
bool | 布尔值 |
byte | 8 位无符号整数 |
char | 16 位 unicode 字符 |
decimal | 128 位精确的十进制值 |
double | 64 位双精度浮点型 |
float | 32 位单精度浮点型 |
int | 32 位有符号整数类型 |
long | 64 位有符号整数类型 |
sbyte | 8 位有符号整数类型 |
short | 16 位有符号整数类型 |
uint | 32 位无符号整数类型 |
ulong | 64 位无符号整数类型 |
ushort | 16 位无符号整数类型 |
2.引用类型(reference types)
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。
内置的引用类型有:object、dynamic 和 string
-> 对象(object)类型
对象(object)类型 是 c# 中所有数据类型的终极基类object 是 system.object 类的别名。所以对象(object)类型可以
被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。
装箱操作: 当一个值类型转换为对象类型时
拆箱操作: 当一个对象类型转换为值类型时
object obj;
obj = 100; // 这是装箱
-> 动态(dynamic)类型
可以存储任何类型的值在动态数据类型变量中,这些变量的类型检查是在运行时发生的声明动态类型的语法:dynamic <variable_name> = value;
例如:dynamic d = 20;
动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的
->字符串(string)类型
字符串(string)类型 允许您给变量分配任何字符串值,字符串(string)类型是 system.string 类的别名。它是从对象(object)类型派生的,字符串(string)类型的值可以通过两种形式进行分配:引号和 @引号
例如:
string str = "baidu.com";
一个 @引号字符串:@"baidu.com";
c# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待
比如:
string str = @"c:\windows";
等价于:string str = "c:\\windows";
用户自定义引用类型有:class、interface 或 delegate
六、c# 类型转换方法
c# 提供了下列常用的内置类型转换方法
序号 | 方法 | 描述 |
1 | tochar | 把类型转换为单个 unicode 字符类型 |
2 | todatetime | 把类型(整数或字符串类型)转换为 日期-时间 结构 |
3 | todecimal | 把浮点型或整数类型转换为十进制类型 |
4 | todouble | 把类型转换为双精度浮点型 |
5 | toint16/toint32/toint64 | 把类型转换为 16/32/64 位整数类型 |
6 | tostring | 把类型转换为字符串类型 |
7 | totype | 把类型转换为指定类型 |
8 | touint16 | 把类型转换为 16 位无符号整数类型 |
七、下期预告 -
-> 变量
-> 常量
-> 运算符
-> 判断
-> 循环
原文链接:
第一次发表文章,心里情绪万千。。。。多多指教!