初识C#,了解程序结构变量命名规范和关键字


前言

本文将展示C#程序的基本结构,认识各部分的名词、了解C#的关键字和一些设计规范


提示:以下是本篇文章正文内容,下面案例可供参考

一、Hello World

我们可以使用VSCode、Visual studio等IDE去创建C#程序,下面我将按照国际惯例使用命令行输出“hello world”的程序展示C#程序的结构和各部分名称
请注意!!! C#9.0新增了顶级语句功能(创建项目时.NET 6.0及以上),您的代码看起来可能是这样的

using System;
Console.WriteLine("Hello World!");

或者是

System.Console.WriteLine("Hello World!");

如不想费时费力请在创建项目的时候勾选不使用顶级语句
本专栏文章均以不使用顶级语句的前提下完成代码


在.NET 5 以后的版本编写的hello world程序如下:

//using System;   在.NET 5以后的版本,using System命令被省去,故此处注释掉这行命令
namespace ConsoleApp3    
{
    internal class Program
    {
        static void Main(string[] args)            //这一行代表Main方法的方法说明  
        //static和void分别用来说明方法是静态的,且返回值为void(空)
        //括号内
        {
            Console.WriteLine("Hello, World!"); //输出内容
        }
    }
}

其中,被大括号所包裹的叫做代码块,在方法说明下面紧接着的一对大括号内写的是方法的内容
如本程序中main方法的内容是Console.WriteLine(“Hello, World!”);
代码中的英文分号;代表代码语句和语句的分隔符,C#的代码中,大部分情况下语句和符号中间的空白不影响程序的语义
在//符号以后的是程序的注释,是为了不改变语义且方便阅读理解程序所写的说明性内容,养成良好的注释习惯是成为好的程序员的关键。在C#中,还可以使用/* ........ */ 来进行注释,在/* */之间注释可以跨行,以前者开始,后者结尾,中间任意行内写入注释


二、变量的声明和使用

在程序设计中,我们可以声明且使用变量组成程序,样例如下

namespace ConsoleApp3
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int age = 20;
            string stroyDescribe;
            stroyDescribe = "Maximilian";
            Console.WriteLine("Hello, World! {0},He's age is {1}", stroyDescribe, age);//1
            Console.WriteLine($"Hello, World! {stroyDescribe},He's age is {age}");     //2
        }
    }
}

上文的代码段中,类似于int age=20; string stroyDescribe;的操作,含有变量类型 变量名这样格式的做法叫做声明变量,其中int string等均为变量类型,而后者则是变量名,不太贴切的讲(后文详解为何不太贴切)变量名=值的过程叫做给变量赋值,本程序中给age变量赋值为整数20(正号隐藏),给字符串类型(string)stroyDescribe赋值为"Maximilian"
文中两种输出方式,分别注释为//1 //2,两种输出方式结果相同
//1的输出方式叫做符合格式化,他需要在字符串中植入{0} {1}之流的占位符,每个占位符顺序对应字符串后的实参顺序,但是占位符可以先出现1后出现0,本文中如先出现1后出现0则先输出age的值后输出stroyDescribe的值,插入的实参又被称为格式项(在本程序中分别是stroyDescribe和age)
//2的输出方式出现于.NET 6.0,该方法叫做字符串插值,需要为字符串字面值添加$符号前缀,而后在字符串中可以使用上述占位符,其中写入变量名,输出时会自动将其输出位变量值
其实字符串插值只是string.Format方法的语法糖,详见其他文章

注意:
上文程序中,在方法内声明的变量称之为局部变量,一般情况下局部变量只存活于他所在的代码块内
设计规范要求局部变量使用camelCase,即小驼峰命名法,变量名除第一单词外,其他每个单词字母大写
在类和方法名中(如上文中的Program类和Main方法),要求使用PascalCase,该命名法叫帕斯卡命名法或大驼峰命名法,要求所有单词首字母大写

无论何时,变量名、类名函数名等标识符命名均要能表达清晰它本身的功能作用,尽可能不要使用单词缩写,且不可与C#关键字重合


顶级语句
顶级语句是一种最大程度地减少必须编写的代码的功能,在使用了顶级语句功能后,编译器将为应用程序生成类和Main方法入口点
一个程序只能有一个入口点,且只能有一个包含顶级语句的文件
一个程序可以拥有任意数量的其他源代码文件,这些文件并不包含顶级语句
在使用了顶级语句的情况下,编写的Main方法会导致

 CS7022:程序的入口点是全局代码;忽略“Main()”入口点。

在开启顶级语句的情况下,如果使用using命令,则需要在文件中首先写入
顶级语句隐式位于全局命名空间中

三、C#关键字


| abstract | enum | long | stackalloc | add | equals | nameof | static |
| alias | event | namespace | string | as | explicit | new | struct |
| do | is | select | when | double | join | set | while |
| ascending | extern | nonnull | switch | async | false | null | this |
| await | finally | object | throw | base | fixed | on | true |
| bool | float | operator | try | break| for| order | orderby | typeof |
| by | foreach | out | uint | byte | from | override | ulong |
| case | get | params | unchecked | catch | global | partial | unmanaged |
| char | goto | private | unsafe | checked | group | protected | ushort |
| class | if | public | using | const | implicit | readonly | value |
| continue | in | ref | var | decimal | int | remove | virtual |
| decimal | int | remove | virtual | default | interface | return | void |
| delegate | internal | sbyte | volatile | descending | into | sealed | where |
| dynamic | let | short | yield | else | lock | sizeof |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值