VR引擎程序设计基础——C#第一课

199 阅读5分钟

1.jpg

visual studio 2022编辑器安装与使用

一、安装

1.IDE(intergrater Development Environment)

集成开发环境,集编辑,编译,运行调试为一体。

2. 安装VS2022

  1. VS2022 社区版(community)链接 visualstudio.microsoft.com/zh-hans/
  2. 安装工作负载,勾选 .NET桌面开发和unity游戏开发

image.png

  1. 选择安装位置(默认C盘),不保留缓存。

image.png

  1. 等待安装完成

image.png

二、VS2022基本使用

  1. 启动Visual Studio,单击创建新项目:

image.png

  1. 创建新项目:

image.png

  1. 配置新项目:

image.png

  1. 勾选行号

image.png

  1. 打开解决方案管理器

image.png

  1. 文件结构
  • .sln 解决方案文件,点击即可打开整个工程
  • .csproj 项目文件
  • .cs 类文件

三、运行第一个Hello,World!程序

1.程序初始结构介绍

image.png

2.分析结构

①引入命名空间

using System;

using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using 语句。

②声明命名空间

namespace ConsoleApp2 { }

一个 namespace 里包含了一系列的类。

命名空间为保存代码的容器,通过 using 导入, namespace 声明。

③声明类

class Program { }

类包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。

在这里,Program 类只有一个 Main 方法。

④定义Main方法

定义了 Main 方法,是所有 C# 程序的 入口点。Main 方法说明当执行时 类将做什么动作。

⑤WriteLine语句

WriteLine 是一个定义在 System 命名空间中的 Console 类的一个方法。该语句会在屏幕上显示消息 "Hello World,C#"。

**Write和Writeline的区别:

Write在打印的时候不会将语句进行换行,WriteLine每次打印都会进行换行**

⑥快捷键

  • 单行注释 //组合快捷键 ctrl+k ctrl+c ;取消单行注释 Ctrl+k Ctrl+u
  • 多行注释 /**/快捷键 ctrl+shift+/
  • 复制一行的快捷键 Ctrl+d
  • ctrl+退格键 删除光标前面的字符;ctrl+delete 删除光标后面的字符
  • 移动某行的程序 alt+↓ alt+↑
  • 函数说明 ///

其他注意事项:大小写敏感、Main开始、分号结尾、文件名可与类名不同

⑦两个转义字符的使用

  • \n表示换行符
  • \t表示制表符
  • 取消转义,在字符串前加@符号,@"\n\t" 或 "\n\t"

四、WriteLine牛刀小试

1.打印三角形

image.png

1_1.png

五、 C#编译过程

1.一般代码编译过程

image.png

2. c#编译

  1. 编译成程序集可以更好得兼容.net框架,运行的时候会更快些

image.png

  1. 查看.exe文件

image.png

image.png

六、变量

1.变量类型

image.png

2.值类型是有值范围的

image.png

3.比较常用的有浮点型、整数类型、字符串类型,示例如图

image.png

4.练习

image.png

** ×√×√**

5.变量特殊操作

  1. 定义多个同类型变量并赋值 int e = 3, d = 5;
  2. 定义多个变量赋同一个值 int f, g = 5;

6.练习

image.png

 > 1.11     2.a+b      3.3+8       4.a+b+3+8       5.a+b+11

7.char字符类型

  1. ASCII表 image.png
  2. 定义字符类型

image.png

8.定义多个同类型的变量及运算

        int num1 = 10, num2 = 12;

算术运算符 + - * / %

        Console.WriteLine(num1 / num2);

如果a和b都是整数类型 a/b的结果就是一个整数,不管有没有整除

         num1 = num1++ + num2--; //自增和自减   ++   --

后++表示拿没有+1之前的值参与运算,然后自身+1 前++自身+1然后参与运算 --以此类推

           Console.WriteLine(num1);

所以num1=10+12=22

2.jpg

七、第一节课源码


namespace ProjectTest_1  //遵循大驼峰命名  每个单词首字母大写
{
    //创建一个类名  按住Ctrl+k Ctrl+c组合快捷键实现单行注释的切换
    //取消单行注释 Ctrl+k  Ctrl+u

    class Progame
    {
        //主函数,程序的入口
        static void Main(string[] arge)
        {
            //编写第一个helloworld   换行的快捷键 Ctrl+shift+enter
            Console.WriteLine("helloworld");//Writeline会输出换行符
            Console.Write("不换行");//复制一行的快捷键  Ctrl+d
            Console.Write("不换行");//选中多行注释:首部插入光标shift+鼠标点击尾部Ctrl+shift+/
            Console.Write("不换行");//取消多行注释  同上
            Console.WriteLine("\n\t");//遇到反斜杠会转义换成其他符号
            Console.WriteLine(@"\n\t");//取消转义
            Console.WriteLine("\\n\\t");//取消转义
            Console.WriteLine("     *      ");
            Console.WriteLine("    ***     ");
            Console.WriteLine("   *****    ");
            Console.WriteLine("  *******   ");
            Console.WriteLine(" *********  ");
            //ctrl+退格键  删除光标前面的字符
            //ctrl+delete  删除光标后面的字符
            //移动某行的程序   alt+↓  alt+↑
            //变量   存数据   相当于一个盒子   存在内存   开辟一个内存空间   有数据类型
            //数据类型   整型  浮点型  字符串  字符  布尔类型  数组  类  枚举...
            //整型类型   int
            int a = 1;  //第一声明变量  初始化变量 (赋值)才能使用
            Console.Write(a);
            long b = 13434;   //为什么不一开始就定义很长的长度的整型类型数据呢?浪费空间
            //字符类型  就是一个字符 在ASCII表中每个字符都会对应一个十进制数 意味着什么?  转成整数
            char c = 'a';//字符类型要用单引号 和字符串区分
            Console.WriteLine(a + c);//隐式类型转换  1+97=98
            //布尔类型  真和假  true  false
            //浮点数  double
            double d = 13.3;
            string f = "我是字符串";

            //定义多个同类型的变量
            int num1 = 10, num2 = 12;

            //算术运算符   + - *  /  %
            Console.WriteLine(num1 / num2);//如果a和b都是整数类型   a/b的结果就是一个整数,不管有没有整除
            //自增和自减   ++   --
            num1 = num1++ + num2--;//后加加表示拿没有+1之前的值参与运算,然后自身+1
            //前++自身+1然后参与运算    --以此类推
            Console.WriteLine(num1);
        }
    }


}

3.jpg