Csharp基础入门
Csharp基础入门
C#的文件后缀是.cs
在一个解决方案中会有N个项目文件夹
在C#中,控制台输出的方式是调用System命名空间中的console类中的WriteLine()方法
System命名空间由.Net提供,有很多程序的基础功能
1 | |
在Rider中,输出内容的快捷键从sout变成cw了 😊
命名空间概念
在Java中,管理多个类的目录结构是包,以package关键字声明
在C#中,管理多个类的目录结构是命名空间,以namespace关键字声明
而在导入的过程中,Java使用import关键字导包
而C#使用using关键字导入命名空间
以类名作为文件名,以命名空间名作为目录结构名
命名规则差异
- 类名和接口名:
- C# 中的类名和接口名同样使用大写的首字母(PascalCase),例如:
MyClass。 - C# 的类名通常以
.cs扩展名保存。
- C# 中的类名和接口名同样使用大写的首字母(PascalCase),例如:
- 命名空间:
- C# 中的命名空间(Namespace)通常使用大写的首字母,例如:
MyCompany.MyApp。 - 命名空间通常反映了公司或产品的名称结构。
- C# 中的命名空间(Namespace)通常使用大写的首字母,例如:
- 常量名:
- C# 中的常量名通常使用全大写,单词间用下划线分隔,例如:
MY_CONSTANT。
- C# 中的常量名通常使用全大写,单词间用下划线分隔,例如:
- 字段名:
- 私有字段通常以下划线开头加驼峰命名法,例如:
_myField。 - 公共属性(Property)通常使用驼峰命名法,首字母大写,例如:
MyProperty。
- 私有字段通常以下划线开头加驼峰命名法,例如:
- 方法名:
- 在C#中方法名通常使用大写开头的驼峰命名方法,例如:
MyMethodName。
- 在C#中方法名通常使用大写开头的驼峰命名方法,例如:
一些其他差异
- 包/命名空间的大小写:
- Java 中的包名通常全部小写,而 C# 中的命名空间可以使用大小写混合。
- 文件扩展名:
- Java 文件扩展名为
.java,而 C# 文件扩展名为.cs。
- Java 文件扩展名为
- 方法参数:
- 参数名通常使用小写字母开始的驼峰命名法,例如:
myParameter。
- 参数名通常使用小写字母开始的驼峰命名法,例如:
变量
在C#中,var 关键字是一个类型推断关键字,它允许你在声明变量时省略变量的具体类型
编译器会根据变量的初始值自动推断出变量的类型
这使得代码更加简洁,尤其是在类型显而易见的情况下
注:在使用var进行变量声明时,不能不初始化改变量(延迟初始化)
1 | |
数据类型
与Java的数据类型基本相同,C#也有基本数据类型与其包装类型
在C# 中多一个decimal类型,他比double的精度更高,更适用于金融类型数据的处理
decimal中文释义:十进制
需要注意的是,在不同的数据进行运算时,会默认进行隐式转换(有低类型到高类型的转换)
nullable(可空类型)
C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值
1 | |
Null 合并运算符( ?? )
C# 中两个问号的作用是判断??左边的对象是否为 null,如果不为 null 则使用?? 左边的对象,如果为 null 则使用 ?? 右边的对象
1 | |
string
在C# 中,字符串类是string,而Java是String
与Java相同,C#提供了很多有关于字符串操作的方法,而且这些常用方法的重载十分有用,在合适的场景填写合适的参数
插值字符串
这是C#提供的一个语法糖,其语法为:
1 | |
Split方法
选用分隔符,对字符串进行分割
1 | |
IndexOf方法
输出指定字符在字符串中的索引值
1 | |
Join方法
我们可以使用Join方法对字符串数组进行拼接操作
1 | |
然而,在不同的操作系统中,换行符是不同的,所以我们可以使用System.Enviroment提供的只读属性(并非一个方法)NewLine来作为换行符使用
1 | |
路径拼接
在开发过程中,我们需要对文件路径的字符串变量进行路径拼接,而在不同系统情况下,路径拼接的连接符是不一样的
为了解决这个问题,我们使用Path.Combine方法进行路径拼接
1 | |
构造函数
通过构造函数,填写指定的参数可以实现一些意想不到的功能
1 | |
字符串比较
1 | |