C#笔记:C#程序基本内容

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#笔记:C#程序基本内容相关的知识,希望对你有一定的参考价值。

1 C#程序主要组成部分

  • 命名空间声明
    • 一个class
      • class方法
        • 至少包含一个Main方法
      • class 属性

2 举例:Hello World

C#语句以;结尾

using System;
/*命名空间声明(Namespace declaration) 
using 关键字用于在程序中包含 System 命名空间
 一个程序一般有多个 using 语句
在任何 C# 程序中的第一条语句都是:using System;*/

//和C++一样,多行注释用'/*  */'囊括,单行注释用‘//’

namespace HelloWorldApplication
/*namespace 声明*/
    /*一个 namespace 里包含了一系列的类。HelloWorldApplication 命名空间包含了类 HelloWorld。*/
    
    class HelloWorld
    
        /* class 声明
        类 HelloWorld 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。
        在这里,HelloWorld 类只有一个 Main 方法。*/
        
        static void Main(string[] args)
        
            /* Main 方法,是所有 C# 程序的 入口点
            Main 方法说明当执行时 类将做什么动作。*/
           
            Console.WriteLine("Hello World!");
            //在屏幕上显示消息 "Hello World"。
        
    

输出就是“Hello World!"

参考内容:C# 程序结构 | 菜鸟教程 (runoob.com)

3 成员变量,成员函数,类的实例化

using System;
/*命名空间声明(Namespace declaration) */


namespace Rectanglepplication
/*namespace 声明*/
    /*一个 namespace 里包含了一系列的类。*/
    
    class Rectangle
    
        /* class 声明*/

        double length;
        double width;
        //Rectangle类的成员变量

        public void Acceptdetails()
        
            length = 4.5;
            width = 3.5;
            //设置成员变量属性
        
        //以下是各个成员函数,在类内生命

        public double GetArea()
        
            return length * width;
        

        public void Display()
        
            Console.WriteLine("Length: 0", length);
            Console.WriteLine("Width: 0", width);
            Console.WriteLine("Area: 0", GetArea());
        
    

    class ExecuteRectangle
    
        //执行矩阵相关的操作
        static void Main(string[] args)
        
            Rectangle r = new Rectangle();
            r.Acceptdetails();
            r.Display();
        
    

输出内容

Length: 4.5
Width: 3.5
Area: 15.75

3.1 构造函数 

类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行

构造函数的名称与类的名称完全相同,它没有任何返回类型

3.2 析构函数

类的 析构函数 是类的一个特殊的成员函数,当类的对象超出范围时执行。

析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。

析构函数用于在结束程序(比如关闭文件、释放内存等)之前释放资源。析构函数不能继承或重载。

3.3 静态成员

  • 可以使用 static 关键字把类成员定义为静态
  • 当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。

4 C#数据类型

值类型

类型描述范围默认值
bool布尔值True 或 FalseFalse
byte8 位无符号整数0 到 2550
sbyte8 位有符号整数类型-128 到 1270
char16 位 Unicode 字符U +0000 到 U +ffff'\\0'
decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 10^28 到 7.9 x 10^28) / 100 到 280.0M
double64 位双精度浮点型(+/-)5.0 x 10^-324 到 (+/-)1.7 x 10^3080.0D
float32 位单精度浮点型-3.4 x 10^38 到 + 3.4 x 10^380.0F
int32 位有符号整数类型-2,147,483,648 到 2,147,483,6470
uint32 位无符号整数类型0 到 4,294,967,2950
long64 位有符号整数类型-9,223,372,036,854,775,808 到 9,223,372,036,854,775,8070L
ulong64 位无符号整数类型0 到 18,446,744,073,709,551,6150
short16 位有符号整数类型-32,768 到 32,7670
ushort16 位无符号整数类型0 到 65,5350

引用类型

object
  • 对象(Object)类型 是 C# 通用类型系统中所有数据类型的终极基类。
  • 对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值
  • 在分配值之前,需要先进行类型转换
    • 当一个值类型转换为对象类型时,则被称为 装箱
    • 当一个对象类型转换为值类型时,则被称为 拆箱

dynamic
  • 动态(Dynamic)类型
  • 可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
  • 与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的。

字符串类型

4.1 转义函数

转义序列含义
\\\\\\ 字符
\\'' 字符
\\"" 字符
\\?? 字符
\\b退格键(Backspace)
\\f换页符(Form feed)
\\n换行符(Newline)
\\r回车
\\t水平制表符 tab
\\v垂直制表符 tab

4.2 sizeof函数

得到一个类型在特定平台上的准确尺寸(以字节为单位)

using System;
/*命名空间声明(Namespace declaration) */


namespace SizeofApplication
/*namespace 声明*/
    
    

    class ExecuteRectangle
    
        //执行矩阵相关的操作
        static void Main(string[] args)
        
            Console.WriteLine(sizeof(int));

        
    


//输出:4

5 输入

默认的输入类型是String

static void Main(string[] args)
        
            string a;
            a = Console.ReadLine();
            Console.WriteLine(a);

        

5.1 类型转换

可以用其他方法进行类型转换

static void Main(string[] args)
        
            int a;
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(a);

        
ToBoolean如果可能的话,把类型转换为布尔型。
ToByte把类型转换为字节类型。
ToChar如果可能的话,把类型转换为单个 Unicode 字符类型。
ToDateTime把类型(整数或字符串类型)转换为 日期-时间 结构。
ToDecimal把浮点型或整数类型转换为十进制类型。
ToDouble把类型转换为双精度浮点型。
ToInt16把类型转换为 16 位整数类型。
ToInt32把类型转换为 32 位整数类型。
ToInt64把类型转换为 64 位整数类型。
ToSbyte把类型转换为有符号字节类型。
ToSingle把类型转换为小浮点数类型。
ToString把类型转换为字符串类型。
ToType把类型转换为指定类型。
ToUInt16把类型转换为 16 位无符号整数类型。
ToUInt32把类型转换为 32 位无符号整数类型。
ToUInt64把类型转换为 64 位无符号整数类型。

6 运算符

++自增运算符,整数值增加 1
--自减运算符,整数值减少 1
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
>>二进制右移运算符。左操作数的值向右移动右操作数指定的位数。
sizeof()返回数据类型的大小。
typeof()返回 class 的类型。
&

返回变量的地址。

&a; 将得到变量的实际地址。

*

变量的指针。

*a; 将指向一个变量。
? :

条件表达式

如果条件为真 ? 则为 X : 否则为 Y

7 条件判断

7.1 if

if(...)

    ....

else if(...)

    ...

else

    ....

7.2 switch

switch(...)

    case ...:
        ....
        break;
    case ...:
        ....
        break;
    default:
        ...
        break;

8 循环语句

8.1 while

while(...)

    ...

8.2 for 

for(int i=1;i<20;i++)

    ...

8.3 do while

do

    ...
while(...);

9 C# 方法

public/private/protected  返回类型 函数名字(形参列表)

    ...

10 数组

声明数组
datatype[] arrayName;
初始化数组
datatype[] arrayName = new datatype[10];
datatype[] arrayName = 1,2,3,4;
二维数组datatype[,] arrayName;

以上是关于C#笔记:C#程序基本内容的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 C# 数组在没有分配任何内容的情况下发生变化?

C#学习笔记

c#笔记目录

在 Visual Studio 2015 C# 中禁用红色波浪线

C#基础内容学习笔记

C# 学习笔记-- C# 的基础语法