C# 入门之代码结构初解

前面因为演示写了一些示例代码,对于初学者,可能不是很了解每一行代码的意思,今天我们就来大概的了解一下这些示例代码,我们将从一个关于数据类型和运算符的综合示例来说明:

using System;

namespace operator1
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1, num2;
            string name;
            Console.WriteLine("Please type your name:");
            name = Console.ReadLine();
            Console.WriteLine($"Hello {name}, Welcome to C#!");
            Console.WriteLine("Please type a number:");
            num1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Please type a number again:");
            num2 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine($"The sum of {num1} and {num2} is " + $"{num1 + num2}.");
            Console.WriteLine($"The result of subtracting {num2} from {num1} is " + $"{num1 - num2}.");
            Console.WriteLine($"The product of {num1} and {num2} is " + $"{num1 * num2}.");
            Console.WriteLine($"The result of diving {num1} by {num2} is" + $" {num1 / num2}.");
            Console.WriteLine($"The remainder after diving {num1} by {num2} is" + $" {num1 % num2}.");
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210902/20099494sa3ugm4CBE.png

现在我们来看一看每一行代码:
在讲代码前,我们先了解一个概念,就是 namespace,在 C# 中,通过 namespace 来标识一段代码及其内容,这样方便引用,在需要时,我们只需要通过引用 namespace 就可以引用这段代码,从而实现代码复用。

我们通过 using 来引用 namespace,这行代码就是引用 System 这个 namespace;

using System;

这个是你自己创建的 namespace,里面就是我们自己构建的代码内容;通常这里会自动填充,namespace 名称和你文件名相同;

namespace operator1

class 定义了一个类(关于类,以及类的一些属性,这些内容比较抽象,我们后面如果有时间,单独找一天聊聊,这里你就知道,这个是定义了一个类就可以了。)

class Program

这行代码表示创建一个方法(类成员),static 表示该方法是静态的,void 表示该方法没有返回值,main 为这个方法的名称,string[] args 表示给该方法传递的参数为字符串数组(在 cmd 里面以交互式的方式输入的);

static void Main(string[] args)

下面就是我们实现功能的代码:
int 和 string 都是声明变量的类型,C# 和 Python 不一样,使用变量时,必须要先声明变量的类型,然后才可以使用;

int num1, num2;
string name;

Console.WriteLine() 类似于 Python 中的 print,输出指定的内容,在这里用于输出 "Please type your name:" 提示信息;

Console.WriteLine("Please type your name:");

这段代码分为两部分,一部分是 Console.ReadLine() 获取用户的输入信息,然后通过 “=” 赋值给 name 变量;

name = Console.ReadLine();

在这里我们在 Console.WriteLine() 里面使用了 “$"。在 C# 中,"$" 被称为 字符串内插,就是将内插字符串({}内的)解析为实际含义的字符串(将变量名,解析成变量实际的内容。你也可以将该功能理解成格式化输出。)

Console.WriteLine($"Hello {name}, Welcome to C#!");

前面我们有声明 num1 的变量类型为 int,但用户输入的数据类型为 string,所有我们通过 Console.ReadLine() 获取用户的输入后,还需要通过 Convert.ToInt32() 将数据类型转换为 int(关于 int16,int32 和 int 64 之间的区别在于支持的整数范围不一样;

num1 = Convert.ToInt32(Console.ReadLine());

现在你应该可以理解了整个代码的含义。

扩展:
我示例中的数字,相除得到的结果是 1,但实际结果其实不是 1,我们怎么才能获取到真实的结果,或者说获取到一个更加接近真实结果的值?


<<:  Label元件字串太长时的解法

>>:  资料库:什麽是 unsigned integer

Day 24. Test Server Side Rendering

Test Server Side Rendering 开宗明义地说: 你无法使用 Vue Test ...

【Day 8】Google Apps Script - 依文件实作 Demo 用的 API

依文件的描述撰写 API,实作时如果发现有实作的问题,再反馈讨论修正。 今日要点: 》制作 API...

资料验证(golang)(Day23)

文章同步更新於个人官网 https://kevinyay945.com/smart-home-tut...

[Angular] Day5. Lifecycle hooks

在 Angular 的 Component 中有一个生命周期,当 Angular 实例化这个 Com...

[Day26]Solidity小实作

hi~经过三天有关solidity语法讲解的过程,那今天就来做一个小实作!我们来写一个有关加法与减...