个人学习笔记,仅供交流

如有错误之处,还请各位大佬批评指正

参考书籍:《C#程序设计实验指导与习题测试》

  • 掌握使用命令行开发简单的C#应用程序
  • 掌握使用VS编写控制台应用程序
  • 了解应用程序命令行参数
  • 掌握VS使用调试技巧
  • 了解VS的在线帮助

实验1:使用命令行开发简单的C#应用程序

  • 打开一个文本编辑器,添加下面的代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
namespace HelloWorldApplication
{
class HelloWorld
{
static void Main(string[] args)
{
/* 我的第一个 C# 程序*/
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
  • 保存文件为 helloworld.cs

  • 打开命令提示符工具,

  • 定位到文件所保存的目录。
1
2
3
4
5
6
7
8
9
10
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.9.1
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************

D:\Visual Studio 2019>j:

J:\>cd test

J:\test>
  • 键入 csc helloworld.cs 并按下 enter 键来编译代码。
1
2
3
4
5
csc helloworld.cs
Microsoft(R) Visual C# 编译器 版本 3.9.0-6.21124.20 (db94f4cc)
版权所有(C) Microsoft Corporation。保留所有权利。

J:\test>
  • 如果代码没有错误,命令提示符会进入下一行,并生成 helloworld.exe 可执行文件。
  • 接下来,键入 helloworld 来执行程序。
1
2
J:\test>helloworld
Hello World
  • 会看到Hello World会打印在屏幕上。

若系统提示无法识别 csc 命令,需配置环境变量,配置方法如下。

右键此电脑打开属性——>高级系统设置——>环境变量——>在Path下加入以下路径

1
C:\Windows\Microsoft.NET\Framework\v4.0.30319\

注意:v4.0.30319.NET Framework的最新版本,可以在下面这个路径下进行查看


实验2:Visual Studio 2019的基本使用

  • 启动 Visual Studio 2019——>创建新项目

  • 选择相应模版(语言选择 C#,平台选择 Windows)

  • 选择控制台应用程序

  • 为您的项目取一个名字,选择其存放的位置

  • 选择相应的.NET框架

  • 新项目会出现在解决方案资源管理器中。

  • 在代码编辑器中编写代码。
  • 运行程序(ctrl+F5)(只运行不调试)


实验3:熟悉Main 方法中的命令行参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
if(args.Length==0)//如果命令行中的参数长度为0,也就是命令行参数为空
{
Console.WriteLine("请输入您的姓名做为参数!");
}
else//否则,也就是命令行中的参数不为空,则输出下面的语句
{
Console.WriteLine("您好!" + args[0]);
}
Console.ReadLine();//等待用户输入,作用是让程序停下来
}
}
}

Main方法是程序的主入口,里面的参数是一个字符串数组,命令行参数在属性中添加。

右击”解决方案资源管理器”中的项目(截图中项目是ConsoleApp2)在弹出的对话框中选择调试,在调试中的应用程序参数输入框中添加相应内容并保存,程序运行后输出如下


实验4:程序的跟踪调试

程序的错误经常被叫做bug,调试的过程叫做debug,程序中常见错误类型如下

编译型错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int a = 20
int b = 5
int c = 100 / a + b
Console.WriteLine(c)
Console.ReadLine()
}
}
}

当然这个错误很明显,但也很常见,这类错误根据编译器的报错信息很容易解决!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int a = 20;
int b = 5;
int c = 100 / a + b;
Console.WriteLine(c);
Console.ReadLine();
}
}
}

在使用相应的方法时,如果没引用其命名空间会出现如下的错误信息!

运行时错误

运行时错误最常见的就是“零除”错误了,比如将上面代码中的整型变量a赋值为0;程序本身没有语法错误,但因为0不能做乘数,所以程序会出现运行时错误!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int a = 0;
int b = 5;
int c = 100 / a + b;
Console.WriteLine(c);
Console.ReadLine();
}
}
}

逻辑性错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int n, n2, n3 = 0;
n = 5;
n2 = n * n;
n3 = n2 * n2;//本该是n*n2
Console.WriteLine("{0},{1},{2}", n, n2, n3);
Console.ReadLine();
}
}
}

在上面的程序中,虽然没有出现编译型错误和运行时错误,但程序中的逻辑出现了问题,导致我们的通过此程序获得我们想要的结果,这类错误最难发现,在写代码时需要特别注意!

调试过程中最常使用的几个快捷键

F5

启动调试,经常用来直接调到下一个断点处。

F9

创建断点和取消断点 断点的重要作用,可以在程序的任意位置设置断点。这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。

F10

逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。

F11

逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最长用的)。

CTRL + F5

开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。


实验5:Visual Studio 2019在线帮助功能