当前位置: 首页 > news >正文

C#环境搭建和入门教程--vs2022之下

目录

1.环境搭建

2.先让程序跑起来

3.C#代码结构

4.变量,输入输出介绍

 5.内容输入和类型转换


1.环境搭建

我们的这个c#基础学习主要就是在这个vs2022上面进行的,我们的这个c/c++使用的都是这个平台

我们首先检查一下我们的这个环境是不是完全的配置了,如何进行检查呢,我觉得可以直接在下面的这个窗口里面输入我们的这个WPF,看看会不会出现相关的选项;

就是在下面的这个框框里面去搜索:

如果没有的话就是我们在进行这个vs的安装的时候没有勾选上去,我们这个时候需要重新去配置一下,对于我们的 这个vs进行更新;

具体的更新方法就是在下面的这个页面找到安装多个工具和功能

接下来这个页面里面,我们检查自己是不是没有安装上这个.net桌面开发,如果这个没有勾选的话,这个时候我们重新勾选,然后等待一段时间进行安装,然后就基本上可以重启vs2022进行使用了;

肯呢个有些同学会好奇,这个net是干什么的,我们的这个c#其实就是在这个net平台上面进行开发的,刚开始是这个net framework这个,这个framework的问题就是只能在这个windows上面进行开发,很不友好,后来出现了这个mono平台和core,这两个都是支持多个操作系统的,例如这个linux和maos等等,不像这个framework一样,而是可以进行跨平台的操作;

我们熟悉的这个unity刚开始的时候使用的就是mono进行这个c#脚本的编写,后来使用的这个core进行的脚本编写,这个mono是我们的社区里面的开发者搞出来的,后来微软自己搞了一个core,也是后来被这个unity游戏引擎使用的;

上面的配置完成之后,我们就可以直接创建一个控制台应用,注意是c#语言的控制台应用;

2.先让程序跑起来

我们打开这个创建的文件,这个里面的demo3就是我们自己创建的新的项目,这个program就是我们的文件,这个cs后缀就是c sharp就是表示的这个c#文件的意思而已;

我们直接写入下面的这个代码,输入我们的内容,让这个程序运行起来就可;

3.C#代码结构

上面的这个代码,我们经过做减法之后,就只会剩下下面的这个框架,就是我们的class里面有一个main函数,这个class后面的就是我们的类型的名字,这个名字是可以改变的;

这个里面的main就是函数或者是方法,使我们程序的入口,这个main是不可以进行修改的,否则就是报错,但是这个program这个类型的名字我们用户自己是可以进行修改自定义的;

其实仅仅是这个结构,我们的这个程序就可以跑起来,这个就是我们的C#代码的基础框架结构;

 

4.变量,输入输出介绍

在注释掉上面的这个内容的情况下,我们理解一下这个代码:

我们的这个份变量和其他的编程语言基本上没有区别,可能就是这个var这个变量的内容我们在其他的编程语言里面不是经常使用罢了,后面我们会讲到的;

我们定义两个变量,让这两个变量的计算结果存储到新的变量里面去,我们想要把这个sum计算的结果打印出来,我们可以使用这个writeline进行打印(这个需要进行驼峰规则规范大小写),但是这个时候会报错,我们的前面需要加上这个system.console进行标识,这个system就是一个命名空间,我们的这个writeline先是找到这个命名空间,然后进入到这个console里面找到这个writeline进行打印输出;

这个时候我们直接运行,这个输出结果的窗口就会一闪而过,这个时候我们需要把这个输出窗口给暂停组,我们需要使用17行的这个readkey进行这个暂停操作,类似于我们的这个c里面的pause,方便我们进行这个输出结果的观察,同样这个前面也是需要加上这个system.console的;

这个时候,我们每次使用这个system.console就会很麻烦,我们可以使用这个using system进行声明,就是表示我们的命名空间,学过c++的话这个就很好理解的,我们就可以直接调用这个输出的函数了;

添加上这个using System之后这个代码的情况:

 5.内容输入和类型转换

像这个输入,我们学习其他的语言,使用的这个cin和scanf之类的,但是在这个c#里面,我们使用这个console.readline进行这个数据的输入操作;

我们输入的数据,是字符串类型的,我们需要定义一个string类型的变量进行存储操作,我们使用这个int.parse函数把这个str转换为int类型的数据和其他的数字进行运算,打印输出运算的结果;

我们也可以使用这个tostring函数,把这个整形的数据转换为string类型的数据和我们的这个str做加法运算,也是可以实现的,要求就是保证这个类型的统一性;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • shell脚本之双重循环(详解)
  • 批量插入insert到SQLServer数据库,BigDecimal精度丢失解决办法,不动代码,从驱动层面解决
  • 《机器学习》—— PCA降维
  • ios xib 子控件约束置灰不能添加约束
  • 我发的共同一作,到底有没有用?
  • vue3 自定义指令 directive
  • 项目管理:如何确保目标的实现?
  • 基于SpringBoot+Vue+MySQL的垃圾分类回收管理系统
  • 二层交换机和三层交换机的优缺点
  • 【LoRA】浅谈大模型微调之LoRA技术
  • 快速了解高并发解决方案
  • 如何在Oracle中实现数据的加密
  • 基于飞桨paddle2.6.1+cuda11.7+paddleRS开发版的目标提取-道路数据集训练和预测代码
  • 安卓开发中LiveData的使用
  • 算法41:位1的个数
  • 10个最佳ES6特性 ES7与ES8的特性
  • android 一些 utils
  • Android交互
  • Android组件 - 收藏集 - 掘金
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Java Agent 学习笔记
  • Java 网络编程(2):UDP 的使用
  • JavaScript类型识别
  • laravel 用artisan创建自己的模板
  • Linux中的硬链接与软链接
  • nginx 配置多 域名 + 多 https
  • PHP那些事儿
  • Python_OOP
  • redis学习笔记(三):列表、集合、有序集合
  • Sass 快速入门教程
  • Travix是如何部署应用程序到Kubernetes上的
  • vue-router的history模式发布配置
  • 给第三方使用接口的 URL 签名实现
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 如何设计一个微型分布式架构?
  • 树莓派 - 使用须知
  • 算法之不定期更新(一)(2018-04-12)
  • 小程序button引导用户授权
  • k8s使用glusterfs实现动态持久化存储
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • !!java web学习笔记(一到五)
  • # Panda3d 碰撞检测系统介绍
  • #{}和${}的区别?
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (LeetCode 49)Anagrams
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (回溯) LeetCode 40. 组合总和II
  • (篇九)MySQL常用内置函数