您的位置:首页 > 文旅 > 美景 > 湖南浏阳最新疫情_简航app是什么_域名解析查询_网络营销的分类

湖南浏阳最新疫情_简航app是什么_域名解析查询_网络营销的分类

2025/1/8 17:30:55 来源:https://blog.csdn.net/qq2127189274/article/details/144979267  浏览:    关键词:湖南浏阳最新疫情_简航app是什么_域名解析查询_网络营销的分类
湖南浏阳最新疫情_简航app是什么_域名解析查询_网络营销的分类

using System: - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句, 相当于C++的 using namespace std;

在这里插入图片描述

C# 是大小写敏感的。

所有的语句和表达式必须以分号(;)结尾。

程序的执行从 Main 方法开始。

与 Java 不同的是,文件名可以不同于类的名称。

构造函数

和C++一样,如果显示编写了构造函数,默认构造就不会自动构造,需要提供无参的构造,不然就不能用new Circle()来构造。
如果不初始化字段,会调用自己的构造函数。上面的int就会默认构造为0、
在这里插入图片描述

顶级语句

一句话:可以想像写Python一样写。

特点:

无需类或方法:顶级语句允许你直接在文件的顶层编写代码,无需定义类或方法。

文件作为入口点:包含顶级语句的文件被视为程序的入口点,类似于 C# 之前的 Main 方法。

自动 Main 方法:编译器会自动生成一个 Main 方法,并将顶级语句作为 Main 方法的主体。

支持局部函数:尽管不需要定义类,但顶级语句的文件中仍然可以定义局部函数。

更好的可读性:对于简单的脚本或工具,顶级语句提供了更好的可读性和简洁性。

适用于小型项目:顶级语句非常适合小型项目或脚本,可以快速编写和运行代码。

与现有代码兼容:顶级语句可以与现有的 C# 代码库一起使用,不会影响现有代码。

类型

值类型:
在这里插入图片描述

C#中类的拷贝

在这里插入图片描述
为了深拷贝,首先需要提供拷贝构造,和cpp一样
在这里插入图片描述
且和CPP不一样的是:他需要显示调用
在这里插入图片描述

运算符

在这里插入图片描述

循环:

while, for, do while 和CPP一样。

foreach循环:类似CPP的for(auto e : v)语句。

在这里插入图片描述

Sting

在这里插入图片描述

可以使用以下方法之一来创建 string 对象:

通过给 String 变量指定一个字符串 通过使用 String 类构造函数 通过使用字符串串联运算符( + )
通过检索属性或调用一个返回字符串的方法 通过格式化方法来转换一个值或对象为它的字符串表示形式
在这里插入图片描述

string的类方法:
Compare()
在这里插入图片描述
Concat:链接两个字符串对象
在这里插入图片描述

Contains:判断字符串中是否有某个字符串对象
在这里插入图片描述
Substring(某位置,截取几个)
从字符串的某个位置截取几个字符
在这里插入图片描述
Join:链接字符串数组
在这里插入图片描述

类型转换:

隐式和强制:
在这里插入图片描述

在这里插入图片描述

从标准输入中输入数据(默认键盘文件)

在这里插入图片描述

访问限定符和继承

public:所有对象都可以访问;

private:对象本身在对象内部可以访问;

protected:只有该类对象及其子类对象可以访问

internal:同一个程序集的对象可以访问;

protected internal:访问限于当前程序集或派生自包含类的类型。

不写默认是private

protected相关的用于继承,和CPP一样,不赘述。

数组作为形参

params修饰的数组形参:params参数必须是最后一个参数。

在这里插入图片描述

Struct 封装

简单使用
直接先放一个使用的例子,和C++的简单使用是相同的。
在这里插入图片描述

struct vs class

不能给结构定义无参构造函数,无参构造函数是默认自动定义的 结构里可以实现一个或者多个接口

结构成员不能被指定为 abstract, virtual, protected

当使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New
操作符即可被实例化。但是如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。

结构是值类型,在栈上。结构赋值给另一个变量的时候,是深拷贝。类是引用类型,在堆上。类赋值的时候如果不调用拷贝构造,则是浅拷贝。
结构不支持继承和多态,但类可以

结构不能有无参数的构造函数: 结构不能包含无参数的构造函数。每个结构都必须有至少一个有参数的构造函数。类可以有无参数的构造函数: 类可以包含无参数的构造函数,如果没有提供构造函数,系统会提供默认的无参数构造函数

结构不能有无参数的构造函数: 结构不能包含无参数的构造函数。每个结构都必须有至少一个有参数的构造函数。类可以有无参数的构造函数: 类可以包含无参数的构造函数,如果没有提供构造函数,系统会提供默认的无参数构造函数
在这里插入图片描述

构造和析构:和C++基本相同

静态成员只有一个副本

class MyClass
{public const int a = 10;public static int b = 20;
}
public void Test2()
{Console.WriteLine(MyClass.a); // 10Console.WriteLine(MyClass.b++); // 20Console.WriteLine(MyClass.b); // 21
}

继承和多态
和C++基本一致,不赘述概念和规则了。

这里放一个函数重写的例子吧。
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com