一、C#简介
1.特点
面向对象、面向组件、结构化语言、可以在多种计算机平台上编译。
2.环境
C#属于解释型语言,构想十分接近于传统高级语言 C 和 C++,是一门面向对象的编程语言,但是它与 Java 非常相似,有许多强大的编程功能。
二、程序结构
//输出Hello World!
using System;
namespace test1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
- .using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import。一般都含有using System
- namespace 声明一个命名空间。一个 namespace 里包含了一系列的类。
- 一个C#文件中可以含有多个命名空间,且不像Java一样,C#没有主命名空间的概念,及命名空间的名字和文件名称可以不一样,但是只能有一个Main方法作为入口。
- C#中的命名空间namespace有点像Java中的class类。
- Main的方法:static void Main(string[] args)
- Main 方法通过语句 Console.WriteLine(“Hello World”); 指定了它的行为。
WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 “Hello, World!”。 - 最后一行 Console.ReadKey(); 是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。
三、数据类型
0.标识符
开头要求只能是:字母、“下划线”、“@”
不能出现任何除了"下划线"、"@"意外的特殊字符。可以是数字。
1.值类型
值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
- 如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用 sizeof 方法。表达式 sizeof(type) 产生以字节为单位存储对象或类型的存储尺寸。
2.引用类型
2.1对象(Object)类型
对象(Object)类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。
2.2动态(Dynamic)类型
可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
2.3字符串(String)类型
字符串(String)类型 允许您给变量分配任何字符串值。字符串(String)类型是 System.String 类的别名。它是从对象(Object)类型派生的。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号
C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待
3.指针类型
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。