C#学习之旅

简介: C#学习之旅

开起C#之旅

本次篇将详细介绍如何编写一个C#程序,C#程序的基础结构,还对C#程序的常用编写规范进行介绍。

1.1编写第一个C#程序

(1)在windows操作系统的“开始”菜单界面中找到Visual Studio 2019,单击打开。

(2)在Visual Studio 2019的开始使用窗口中单击“创建性项目”,打开“创建新项目”对话框,选择“控制台应用(.NET Framework)”。

(3)单击“下一步”按钮,打开“配置新项目”对话框,该对话框中项目名称命名为“Hello_World”,选择保存路径和要使用的框架,然后单击“创建”按钮,创建一个控制台应用程序。69425a58529a4fd5a183a1fefea07757.png8db4bf486bac4f87bb69b4e27551bf4f.png说明:

设置项目框架的时候,建议选择版本较低的框架,比如.NET Framework 4.0 这样开发的程序兼容性更高。

创建一个控制台应用,使用WriteLine()方法输出“Hello World!”字符串,代码如下。

static void Main(string[] args){
Console.WriteLine("Hello World!");
Console.ReadLine();
}

程序运行结果:

1.png

1.2初始C#程序结构

C#程序结构大体可分为命名空间、类、Main()方法、标识符、关键字、语句、和注释等。下面进行详细的讲解。

1.2.1命名空间

可以说C#程序就是利用命名空间组织起来的。命名空间可以作用于程序的“内部”组织系统,也可以作用“外部”公开的组织系统。如果要调用某个命名空间中的类或者方法,首先需要使用using指令引入命名空间。在C#中各命名空间就好像是一个储存了不同类型的仓库,using指令就好比一把钥匙,命名空间的名称好比仓库的名称,可以通过钥匙打开指定的名称仓库,从仓库中可以获取所需的物品。

using 指令的基本形式为:

using 命名空间名;

创建一个控制台应用程序,建立一个命名空间JL.Data,在其中有一个类Model,使用using指令引入命名空间JL.Data,然后在命名空间JL.View中实例化命名空间JL.Data中的类Model,最后调用此类中的GetData()方法,代码如下

using System;
using JL.Data;  //使用uisng 指令引入命名空间JL.Data
namespace JL.View
{
    class Program
    {
        static void Main(string[] args)
        {
            Model model = new Model();  //实例化JL.Data中的类Model
            model.GetData();            //调用类Model中的GetData()方法
        }
    }
}
namespace JL.Data                      //建立命名空间JL.Data
{
    class Model                       //实例化命名空间JL.Data中的类Model
    {
        public void GetData()
        {
            Console.WriteLine("欢迎光临");//输出字符串
            Console.ReadLine();
        }
    }
}

运行的结果就是“欢迎光临”。

1.2.2类

类是一种数据类型,他=它可以封装数据成员、函数成员和其他的类。类是创建对象的模板。C#中的所有语句都必须位于类内。类是C#语言的核心和基本构成模块。使用任何新的类之前都必须声明它,一个类一旦被声明,就可以当作一个新的类型来使用,在C#中通过class关键字来声明类,语法如下:

[类修饰符] class [类名] [基类或接口]{
[类体]
}

在C#中类名是一种标识符,必须符合标识符的命名规则。类名要能够提现类的含义和用途。类名一般采用第一个字母大写的名词,也可以采用多个词构成的组合词。

1.2.3 Main()方法

Main()方法是程序的入口点,C#程序中必须包含一个Main()方法,在该方法中可以创建对象和调用其他方法,一个程序中只能有一个Main()方法,并且所有的Main()方法都必须是静态的。可以用3个修饰符修饰Main()方法,分别是public、static和void。

public:说明Main()方法是共有的,在类的外面也可以调用整个方法。

stataic:说明Main()方法是一个静态方法。静态方法不能使用类的实例化对象,必须直接使用类名来调用。

void:此修饰符说明Main()方法无返回值。

1.2.4 标识符及关键字

1.标识符

可以理解为一个名字,用来标识、变量名、方法名、数组名、文件名的有效字符序列。

C#语言规定标识符由字母、下划线(_)和数字组成,并且第一个字符不能为数字。标识符不能是C#中的关键字。

下面是合法的标识符:

_name

ID

在C#语言中,标识符中的字母是严格区分大小写的,如good和Good是不同的两个标识符。

2.关键字

下面是我收集的一些常用的关键字:

int public this finally boolean abstract
continue float long short throw return
break for foreach static new interface
if goto default byte do case void
try switch else catch private
double protected while char class using

1.2.5 C#语句

语句是构造所有C#程序的基本单位。语句可以声明局部变量或常数、调用方法、创建对象或将值赋值给变量、属性或字段,语句通常以分号终止。

例如:

Console.WriteLine("欢迎光临");

此语句便是调用Console类中的WriteLine()方法,输出指定的内容"欢迎光临"。

1.2.6 注释

编译器编译程序时不执行注释的代码或者文字,主要的功能就是对某段代码进行说明,方便对代码的理解与维护。注释可以分为行注释和快注释两种,行注释都以"//"开头

例如:

static void Main(string[] args) //程序的Main()方法
        {
            Console.WriteLine("欢迎光临");//输出“欢迎光临”
            Console.ReadLine();
        }

如果注释的行数较少,一般使用行注释。对于大段的注释使用"/"开始,“/”结束。

例如:

/*程序的Main()方法中可以输出字符串               //块注释开始
       static void Main(string[] args)            //Main()方法
        {
            Console.WriteLine("欢迎光临");       //输出字符串
            Console.ReadLine();
        }*/

1.3 代码书写规则

代码书写规则通常对应用程序的功能没有影响,但他们对于改善源代码的理解是有帮助的。

1、尽量使用接口,然后使用类实现接口,提高程序的灵活性。

2、尽量不要手工更改计算机生成的代码,若必须改,一定要改成计算机生成代码风格一样。

3、关键的语句(包括声明关键的变量)必须写注释。

4、建议局部变量在最接近使用它的地方声明。

5、不要使用goto系列语句,除非是用在跳出深层循环时。

6、避免书写超过5个餐宿的方法。如果要传递多个参数,则使用结构。

7、避免书写代码量过大的try-catch代码块。

8、避免在同一个文件中放置多个类。

9、生成和构建一个长的字符串时,一定要使用StringBuilder类型,而不是用string类型。

10、switch语句一定要有default语句来处理意外情况。

11、对于if语句,应该使用一对“{}”把语句块包含起来。

12、尽量不使用this关键字引用。

1.3.2 命名规范

命名规范在编写代码中起到很重要的作用,虽然不遵循命名的规范,程序也可以运行,但是使用命名规范可以很直观地了解代码所代码的含义。

1、用Pascal规则来命名方法和类型,Pascal的命名规则是第一个字母必须大写,并且后面连接词的第一个字母均为大写。

例如:

class Model                       
    {
        public void GetData()
        {
        }
    }

2、用Camel规则来命名局部变量和方法的参数,Camel规则是指名称中第一个单词的第一个字母小写,并且连接词的第一个字母均为大写。

例如:

string strUserName;                                  //声明一个字符串变量strUserName
public void addUser(string strUserName);             //创建一个具有两个参数的公共方法

3、所有的成员变量前加前缀"_"

例如:在公共类DataBase中声明一个私有成员变量_connectionString

public class DataBase{                         //创建一个公共类
     private string_connectionString;          //声明一个私有成员变量
}

4、接口的名称加前缀“I”

例如,创建一个公共接口Iconvertible,

public interface Iconvertible{               //创建一个接口
    byte ToByte();                          //声明一个byte类型的方法
}

在定义有返回值的方法是,必须在设置方法是,定义方法的类型,并在方法体介结束后用return返回值。

相关文章
|
6月前
|
C#
C#学习相关系列之数据类型类的三大特性(二)
C#学习相关系列之数据类型类的三大特性(二)
|
6月前
|
C#
C#学习相关系列之yield和return的区别
C#学习相关系列之yield和return的区别
|
6月前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
6月前
|
C#
C#学习相关系列之数组---常用方法使用(二)
C#学习相关系列之数组---常用方法使用(二)
|
6月前
|
存储 C#
C#学习系列相关之数组(一)---数组的定义与使用
C#学习系列相关之数组(一)---数组的定义与使用
|
8天前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
1月前
|
开发框架 缓存 算法
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
|
6月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
76 0
|
2月前
|
Linux C# 开发者
Uno Platform 驱动的跨平台应用开发:从零开始的全方位资源指南与定制化学习路径规划,助您轻松上手并精通 C# 与 XAML 编程技巧,打造高效多端一致用户体验的移动与桌面应用程序
【9月更文挑战第8天】Uno Platform 的社区资源与学习路径推荐旨在为初学者和开发者提供全面指南,涵盖官方文档、GitHub 仓库及社区支持,助您掌握使用 C# 和 XAML 创建跨平台原生 UI 的技能。从官网入门教程到进阶技巧,再到活跃社区如 Discord,本指南带领您逐步深入了解 Uno Platform,并提供实用示例代码,帮助您在 Windows、iOS、Android、macOS、Linux 和 WebAssembly 等平台上高效开发。建议先熟悉 C# 和 XAML 基础,然后实践官方教程,研究 GitHub 示例项目,并积极参与社区讨论,不断提升技能。
93 2
|
3月前
|
开发框架 .NET API
C#/.NET/.NET Core推荐学习书籍(24年8月更新)
C#/.NET/.NET Core推荐学习书籍(24年8月更新)
下一篇
无影云桌面