一. 简单了解 c# 的来源
首先我们了解C# 是一个简单的、现代的、通用的、面向对象的编程语言,由 Anders Hejlsberg 和他的团队在 .Net 框架开发期间开发的。
它是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。
二. c#广泛运用的原因及重要功能。
原因:
它是现代通用的编程语言;面向对象,面向组件;是结构化的语言更容易学习;能产生高效率的程序;可以在多种计算机平台上进行编译;是.Net框架的一部分。
重要功能:
- 布尔条件(Boolean Conditions)
- 自动垃圾回收(Automatic Garbage Collection)
- 标准库(Standard Library)
- 组件版本(Assembly Versioning)
- 属性(Properties)和事件(Events)
- 委托(Delegates)和事件管理(Events Management)
- 易于使用的泛型(Generics)
- 索引器(Indexers)
- 条件编译(Conditional Compilation)
- 简单的多线程(Multithreading)
- LINQ 和 Lambda 表达式
- 集成 Windows
三. c#的开发环境(Integrated Development Environment - IDE)
C# 编程的开发工具:
- Visual Studio 2010 (VS)
- Visual C# 2010 Express (VCE)(免费)
- Visual Web Developer(免费)
除了这些工 具之外还可以使用基本的文本编辑器(比如 Notepad等)编写 C# 源代码文件,并使用命令行编译器(.NET 框架的一部分)编译代码为组件。
示例:
using System;
namespace HelloWorldApplication
{
/* 类名为 HelloWorld */
class HelloWorld
{
/* main函数 */
static void Main(string[] args)
{
/* 我的第一个 C# 程序 */
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
四. c#的程序结构
C# 程序主要包括以下部分:
- 命名空间声明(Namespace declaration)
- 一个 class
- Class 方法
- Class 属性
- 一个 Main 方法
- 语句(Statements)& 表达式(Expressions)
- 注释
五. c#的基本语法
C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。
(1)using 关键字
在任何 C# 程序中的第一条语句都是:
using System;
(2)c#的注释
注释是用于解释代码,给予我们提示且编译器会不执行忽略的条目。
在 C# 程序中,多行注释以 /* 开始,并以字符 */ 终止,如:
/* 这个程序演示 C# 的注释 使用 */
单行注释是用 // 符号表示。例如:
// 这一行是注释
(3)成员变量
变量是类的属性或数据成员,用于存储数据。
(4)成员函数
函数是一系列执行指定任务的语句。类的成员函数是在类内声明的
(5)标识符
标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中,类的命名必须遵循如下基本规则:
- 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
- 标识符中的第一个字符不能是数字。
- 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ' / \。
- 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
- 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
- 不能与C#的类库名称相同。
(6)c#实例化一个类
关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。其次C# 中,有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。
C# 关键字 | Microsoft Docshttps://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/
六. c#的数据类型
(1)值类型
值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
类型 | 描述 | 范围 | 默认值 |
---|---|---|---|
bool | 布尔值 | True 或 False | False |
byte | 8 位无符号整数 | 0 到 255 | 0 |
char | 16 位 Unicode 字符 | U +0000 到 U +ffff | '\0' |
decimal | 128 位精确的十进制值,28-29 有效位数 | (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 | 0.0M |
double | 64 位双精度浮点型 | (+/-)5.0 x 10-324 到 (+/-)1.7 x 10308 | 0.0D |
float | 32 位单精度浮点型 | -3.4 x 1038 到 + 3.4 x 1038 | 0.0F |
int | 32 位有符号整数类型 | -2,147,483,648 到 2,147,483,647 | 0 |
long | 64 位有符号整数类型 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 0L |
sbyte | 8 位有符号整数类型 | -128 到 127 | 0 |
short | 16 位有符号整数类型 | -32,768 到 32,767 | 0 |
uint | 32 位无符号整数类型 | 0 到 4,294,967,295 | 0 |
ulong | 64 位无符号整数类型 | 0 到 18,446,744,073,709,551,615 | 0 |
ushort | 16 位无符号整数类型 | 0 到 65,535 | 0 |
(2)引用类型(内置三种引用类型)
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。
即它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。
1.对象类型 object
对象类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。Object 是 System.Object 类的别名。所以对象类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。
2.动态类型 dynamic
您可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
声明动态类型的语法:
dynamic <variable_name> = value;
3.字符串类型 string
字符串类型 允许您给变量分配任何字符串值。字符串类型是 System.String 类的别名。它是从对象(Object)类型派生的。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。
例如:
String str = "runoob.com";
(3)指针类型
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
声明指针类型的语法:
type* identifier;
例如:
char* w; int* z;
从这里我们可以看出c#与我们Java相同的地方。
推荐学习书籍及视频:
C#入门经典 第八版
C#高级编程 第十一版
文章赠语:
奋斗没有终点,任何时候都是一个起点。