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 关键字把类成员定义为静态
  • 当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。
  • 也可以把一个成员函数声明为 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;

11 继承

class <基类>
{
 ...
}
class <派生类> : <基类>
{
 ...
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值