当前位置: 首页 > 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做加法运算,也是可以实现的,要求就是保证这个类型的统一性;

相关文章:

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

目录 1.环境搭建 2.先让程序跑起来 3.C#代码结构 4.变量,输入输出介绍 5.内容输入和类型转换 1.环境搭建 我们的这个c#基础学习主要就是在这个vs2022上面进行的,我们的这个c/c使用的都是这个平台 我们首先检查一下我们的这个环境是不是完全的配置了…...

自定义类型

前言:不知不觉又过了一个礼拜。时间过的还真是快呀。好了废话不多说,今天我们来学习C语言中的结构体,联合体,枚举。 我们都知道C语言中数据类型大致被分为基本类型,自定义类型,指针类型,空类型…...

数仓项目环境搭建

目录 一、安装CentOS 1.1、修改映射关系: 1.2、免密登录: 1.3、关闭防⽕墙: 1.4、修改linux的安全机制: 1.5、修改yum源: 二、安装JDK 2.1、创建文件夹: 2.2、解压安装: 2.3、配置环境变量: 2.4、刷新环境变量: 2.5、验证: 三、安装Hadoop[伪分布式] 3.1、安装hd…...

Vue3(二)计算属性Computed,监视属性watch,watchEffect,标签的ref属性,propos属性,生命周期,自定义hook

文章目录 一 、计算属性1. 简写2. 完整写法 二、监视watch1. 监视【ref】定义的【基本类型】数据2. 监视【ref】定义的【对象类型】数据3. 监视【reactive】定义的【对象类型】数据4. 监视【ref】或【reactive】定义的【对象类型】数据中的某个属性5. 监视多个数据总结 三、wat…...

栈:只允许在一端进行插入或删除操作的线性表

一、重要术语: 栈顶、栈底、空栈 二、线性表的基本操作 三、栈的相关操作: 把线性表中的list改成stack insert改成 push delete 改成 pop 总结:“后进先出” 四、顺序栈: 缺点:栈的大小不可变 1.定义: …...

spring boot 热部署

热部署的主要作用是在服务器运行的时候可以在不关闭服务器的情况下修改代码 可以很大的提高开发效率 热部署的步骤很简单 首先&#xff0c;需要在 pom.xml 文件中引入热部署需要的依赖 <dependency><groupId>org.springframework.boot</groupId><artif…...

携手阿里云CEN:共创SD-WAN融合广域网

在9月19日举行的阿里云云栖大会上&#xff0c;犀思云作为SD-WAN领域的杰出代表及阿里云的SD-WAN重要合作伙伴&#xff0c;携手阿里云共同推出了创新的企业上云方案——Fusion WAN智连阿里云解决方案。这一创新方案不仅彰显了犀思云在SD-WAN技术领域的深厚积累&#xff0c;更体现…...

kettle从入门到精通 第八十七课 ETL之kettle kettle文件上传

1、kettle本身文件上传功能不是很友好&#xff0c;甚至是不能直接使用&#xff0c;需要调整文件上传接口才可以正常接收到文件&#xff0c;本次讲解内容主要是通过自定义插件解决这个问题。 2、通过springboot 编写简单demo&#xff0c;模拟文件上传&#xff0c;接口支持三个参…...

Algo-Lab 2 Stack Queue ADT

Lab 2: Stack & Queue ADT Part 1 ​ 这里只说一下最小栈的思路&#xff0c;我们可以在定义一个栈&#xff0c;来同步存储当前情况下的占的最小值。最小栈第一时间的想法可能是设定一个变量&#xff0c;每次push进来栈中的元素进行对比&#xff0c;保持最小值&#xff0c;…...

MySQL索引详解

前言 在数据库管理中&#xff0c;索引是提高数据检索速度的重要工具。MySQL作为流行的关系型数据库管理系统&#xff0c;提供了多种类型的索引来优化查询性能。本文将深入探讨MySQL索引的工作原理、类型、创建方法以及最佳实践。 索引简介 MySQL中的索引是一种数据库对象&am…...

fastadmin 根据选择数据来传参给selectpage输入框

文章目录 js代码php代码&#xff1a;完结 js代码 $(document).on(change,#table .bs-checkbox [type"checkbox"],function(){let url$(#chuancan).attr(data-url)urlurl.split(?)[0]let idsTable.api.selectedids(table)if(ids.length){let u_id[]ids.forEach(eleme…...

【算法】堆与优先级队列

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;最后一块石头的重量 .1- 题目解析 .2- 代码编写 2&#xff09;数据流中的第 K 大元素 .1- 题目解析 .2- 代码编写 3&#xff09;前K个高频单词 .1- 题目解析 .2- 代码编写 4&#xf…...

Java基础尚硅谷85-面向对象特征一:封装性

曾国藩说&#xff0c;基础不牢&#xff0c;很难走得远。 所以时时回顾一下Java基础&#xff0c;打好地基&#xff0c;让自己走得更稳&#xff0c;更远。 今天这节课&#xff0c;学到对自己有点价值的东西是&#xff1a; 为什么要封装&#xff1f;保护数据安全。只对外暴露极少…...

828华为云征文 | 将Vue项目部署到Flexus云服务器X实例并实现公网访问

一、Flexus云服务器X实例简介 1.1 概述 华为云Flexus X实例是华为云推出的一款创新云服务器产品&#xff0c;它主要面向中小企业和开发者&#xff0c;旨在解决传统云服务中的痛点&#xff0c;提供更加灵活、高效的云服务体验。 华为深刻洞察了中小企业和开发者在云服务应用中遇…...

828华为云征文|华为云Flexus云服务器X实例部署Xnote笔记应用

828华为云征文&#xff5c;华为云Flexus云服务器X实例部署Xnote笔记应用 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Note Mark 介绍2.1 Xnote简介2.2 Xnote特点2.3 主要使用场景 三、本次实…...

手写数字识别案例分析(torch,深度学习入门)

在人工智能和机器学习的广阔领域中&#xff0c;手写数字识别是一个经典的入门级问题&#xff0c;它不仅能够帮助我们理解深度学习的基本原理&#xff0c;还能作为实践编程和模型训练的良好起点。本文将带您踏上手写数字识别的深度学习之旅&#xff0c;从数据集介绍、模型构建到…...

应用密码学第一次作业(9.23)

一、Please briefly describe the objectives of information and network security,such as confidentiality, integrity, availability , authenticity , and accountability The objectives of information and network security include: Confidentiality: Protecting se…...

JSON合并工具

JSON合并工具 1. 项目概述 本项目旨在开发一个强大而灵活的JSON合并工具&#xff0c;能够合并多个JSON文件&#xff0c;处理复杂的嵌套结构&#xff0c;提供详细的合并报告&#xff0c;并实现全面的验证和错误处理机制。 2. 功能需求 2.1 基本合并功能 支持合并两个或多个…...

【网络编程】网页的显示过程

文章目录 1.URL 解析2.DNS 解析3.TCP三次握手4.服务器接收请求5.客户端接收响应 首先我们知道网页经过网络总共有应用层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层&#xff0c;物理层 1.URL 解析 将获得的网址解析出协议&#xff0c;主机名&#xff0c;域名…...

用nginx-rtmp-win32-master及ffmpeg模拟rtmp视频流

效果 使用nginx-rtmp-win32-master搭建RTMP服务 双击exe就可以了。切记整个目录不能有中文 README.md ,启用后本地的RTM路径: rtmp://192.168.1.186/live/xxx ffmpeg将地本地视频推RMTP F:\rtsp\ffmpeg-7.0.2-essentials_build\bin>ffmpeg -re -i F:\rtsp\123.mp4 -c c…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...