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

c#笔记-创建一个项目

创建一个项目

创建控制台程序

在你安装完成Visual Studio后打开它,你会的到一个启动窗口
在这里插入图片描述
点击创建新项目,选择右上角c#的没有Framework的控制台应用。
在这里插入图片描述
项目名称,位置自己随意。
目标框架选择NET7.0。

项目创建完成后应该你的界面应该类似于这样:
在这里插入图片描述

运行程序

点击菜单里的播放键可以运行程序
在这里插入图片描述
其中,左边的带有项目名字的深色播放键是调试。
编译器会在运行这个程序时同时监视他的CPU,内存使用情况。
右侧浅色播放键是仅运行。快捷键Ctrl+F5

然后,你应该会出现一个默认黑底白字的框框,出现类似下面的内容
在这里插入图片描述

解决方案管理器

解决方案:解决方案是包含项目的集合,它们共同实现一个目标。解决方案本身不直接影响编译或运行,它只是类似于一个目录一样把相关的项目,文件,文件夹组织起来,方便你查看和导航。

  • 项目:编译为程序集的基本单位。编译和运行都作用整个项目。
    • 依赖项
      • 包:类似于游戏中的mod或dlc。提供了一些封装好的代码。就像你的代码一样生效,但你不能修改里面的内容。
      • 分析器:分析你的源码的程序。自动补全,代码提示这些都由分析器提供。
      • 框架:框架是为了某一功能封装的一系列包。
      • 项目:直接引用其他的项目中的代码或资源,不需要复制或修改任何文件,也不需要额外的打包步骤,就能在你的项目中使用它们。
    • 源码文件:这是你编写的源码,他们在编译后会变成一个可执行文件(exe)或是动态链接库(dll)文件。他们都能被别的程序执行其中的部分内容。但可执行文件可以自己独立执行。

在这里插入图片描述

程序入口

顶级语句

在你运行程序以后会弹出一个窗口,显示一行文字:Hello world

现在将代码中的所有东西再复制一遍。然后运行,就会得到两行Hello world
在这里插入图片描述
显然,我们的程序是写在这里的。 在这里写了什么,什么就会生效。

Main方法

你可能会说这不废话吗。这么大一片白只有这里有东西。不写这写哪?

嗯。。。确实。不过这是一个新版本的功能。大部分培训机构和学校都不会使用这个功能。
所以你必须知道,在老版本中,长什么样。你在网上找到的大部分文章,都会使用老版本的格式。

如果你在之前创建项目的时候勾选了这个勾,他会以老版本的格式创建示例程序。
在这里插入图片描述
我们的代码,将写在这里面
在这里插入图片描述
并没有什么配置或选项。只因为他是一个名为Main的方法(还有这一堆修饰词),所以他就是程序的开始。
在Main方法中(这一对括号内)右键可以切回去。
在这里插入图片描述

多个程序入口点

如果一个项目没有程序入口点,那么他就是dll文件。如果他有入口点,那么就是exe文件。
如果同时存在多个顶级语句(分散在不同的源码文件中),或是有多个Main方法。
那么是会报错的。

在这里插入图片描述
在这里插入图片描述

但是如果只有一个文件有顶级语句,那么无论你有多少个Main方法都没关系。
因为顶级语句有更高的优先级,当他存在时,Main方法会被无视。

提示

内联提示

打开工具->选项->搜索框内写内联。
在这里插入图片描述
按照自己的喜好选择行尾或最右侧。
在这里插入图片描述
然后拉到最下面,勾选这些:
在这里插入图片描述


然后你在代码里随便输点什么,你会发现在主界面就会提示你错误
在这里插入图片描述
并且初始代码的中间还多了灰色的小提示。那个提示不能选中,但是鼠标放上去会有东西。

在这里插入图片描述

文档注释

当一个程序被打包以后,里面的文档注释会被单独提取出来,做成一个文本文件。
也就是说,注释和程序是分开的,你可以随意改动注释不会出现问题。

你可以点击这里跳转到下载页面。
中文的文档注释没有适配最新版本的注释包。但是因为上述特点,可以将就着使用它。

找到.NET 安装文件夹,默认情况下,你在上方的路径里输入:%ProgramFiles%\dotnet\packs
就能跳转到。
在这里插入图片描述
打开下载来的压缩包。找到和压缩包里对应名字的文件夹。
在这里插入图片描述
依次打开最新版本,ref,唯一的文件夹。里面有一大堆xml文件。
把压缩包里面对应文件夹里的zh-hans文件夹拖到这个目录里。
在这里插入图片描述
最后重启VS就行了
在这里插入图片描述

跳转帮助

如果看到一个你看不懂的东西,可以把光标放在他上面,然后按F1。VS会启动你的默认浏览器,打开官网对此代码的说明书。
并且是中文的。

对于错误,你可以点击他的编号查看错误的帮助。

不过错误的帮助跳转是英文的,你需要在那个网页滚动到最下方,切换语言。
在这里插入图片描述

编写辅助

自动补全

按下回车换行,将上面的代码抄写一遍,你会发现在输入的时候会出现代码提示
在这里插入图片描述
使用方向键的上下可以选中代码
按下空格,Tab,回车,或大部分符号键会把选中的这一块弄上去。
在这里插入图片描述
这些有星星的表示这些东西是可以直接放这里用的。但是这种置顶没有在下面的列表中去除掉相同的。
用置顶的和用下面一样的是一样的效果。

代码预测

新版的VS代码提示学习了一堆范例代码,于是可以根据上下文推测你想要的代码。
在这里插入图片描述
在这里插入图片描述
按下Tab可以把这些灰色的代码直接补上去。

自动排版

这项功能在VS中叫格式化文档。
他会自动操控你的换行,空格,缩进。
比如你给初始代码的点左右加空格
在这里插入图片描述
按住Ctrl键,依次按下K,D键。就会触发自动排版。

相关文章:

c#笔记-创建一个项目

创建一个项目 创建控制台程序 在你安装完成Visual Studio后打开它,你会的到一个启动窗口 点击创建新项目,选择右上角c#的没有Framework的控制台应用。 项目名称,位置自己随意。 目标框架选择NET7.0。 项目创建完成后应该你的界面应该类似…...

Photoshop如何使用图像调色之实例演示?

文章目录 0.引言1.将一张偏冷调的图像调整成暖调2.将图像调整成不同季节色彩倾向3.变换花朵的颜色4.创建人像轮廓风景5.修饰蓝天白云6.调换花草颜色 0.引言 因科研等多场景需要进行绘图处理,笔者对PS进行了学习,本文通过《Photoshop2021入门教程》及其配…...

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。 问题背景: 在IDEA中,使用Git提交代码到远程仓库时,结果弹出一个警告窗口 问题原因: …...

ArduPilot之开源代码LibrarySketches设计

ArduPilot之开源代码Library&Sketches设计 1. 简介1.1 Core libraries1.2 Sensor libraries1.3 Other libraries 2. 源由3. Library Sketches设计3.1 设计框架3.2 Example Sketches3.3 AP_Common Sketches3.3.1 配置sitl环境3.3.2 编译AP_Common3.3.3 运行AP_Common3.3.4 代…...

第一章:概述

1,因特网概述 1.网络、互联网和英特网 网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)。因此,互联网是“网络的网络…...

MySQL --- DDL图形化工具表结构操作

一. 图形化工具 1. 介绍 前面我们讲解了DDL中关于数据库操作的SQL语句,在我们编写这些SQL时,都是在命令行当中完成的。大家在练习的时候应该也感受到了,在命令行当中来敲这些SQL语句很不方便,主要的原因有以下 3 点:…...

归一化处理(2023寒假每日一题 14)

在机器学习中,对数据进行归一化处理是一种常用的技术。 将数据从各种各样分布调整为平均值为 0 0 0、方差为 1 1 1 的标准分布,在很多情况下都可以有效地加速模型的训练。 这里假定需要处理的数据为 n n n 个整数 a 1 , a 2 , ⋯ , a n a_1,a_2,⋯…...

无公网IP,外网远程连接MySQL数据库

哈喽~大家好,这篇来看看无公网IP,外网远程连接MySQL数据库。 文章目录 前言1. 检查mysql安装状态2. 安装配置cpolar内网穿透3. 创建tcp隧道,映射3306端口4. 公网远程连接4.1 图形化界面4.2 使用命令行远程连接 5. 配置固定tcp端口地址5.1 保留…...

OJ刷题 第十四篇(递归较多)

23204 - 进制转换 时间限制 : 1 秒 内存限制 : 128 MB 将一个10进制数x(1 < x < 100,000,000)转换成m进制数(2< m < 16) 。分别用 ABCDEF表示10以上的数字。 输入 x m (1 < x < 100,000,000, 2< m < 16) 输出 m进制数 样例 输入 31 16 输出 1F 答…...

FileZilla读取目录列表失败(vsftpd被动模式passive mode部署不正确)

文章目录 现象问题原因解决方法临时解决&#xff08;将默认连接方式改成主动模式&#xff09;从根本解决&#xff08;正确部署vsftpd的被动模式&#xff09; 现象 用FileZilla快速连接vsftpd服务器时&#xff0c;提示读取目录列表失败 问题原因 是我vsftpd服务端的被动模式没…...

【Java面试八股文】数据库篇

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式牛客面试题 目录 请你说说MySQL索引,以及它们的好处和坏处 请你说说MySQL的索引是什么结构,为什么不用哈希表 请你说说数据库索引的底…...

Android Glide加载图片、网络监听、设置资源监听

再搞事情之前首先创建一个项目&#xff0c;就命名为GlideDemo吧。    一、项目配置 创建好之后&#xff0c;在app模块下build.gradle的dependencies闭包中添加如下依赖&#xff1a; //glide//glideimplementation com.github.bumptech.glide:glide:4.11.0annotationProcess…...

等保定级报告模版

等保定级怎么做_luozhonghua2000的博客-CSDN博客 上篇给大家说清楚了,等保定级怎么做,但在日常工作中,需要向上级或甲方输出定级报告,这篇我降弄个模版供大家参考。 信息系统安全等级保护定级报告 XX 平台系统描述 (一) 2023年5月,XX 正式上线,XX 隶属于深圳 XX 科技…...

计算机组成原理4.2.2汉明码

编码的最小距离 奇校验和偶校验 看1的个数是奇数 还是偶数 汉明码 汉明码的配置 根据不等式&#xff0c;确定增添几位&#xff0c;根据指数放置增添位 汉明码的检错 分不同检测小组 分组规则&#xff1a;哪位为’1‘就是哪组元素。 1号位为‘1’的都是第一组元素&#…...

JavaScript全解析——本地存储的概念、用法详解

本地存储概念&#xff1a; 就是浏览器给我们提供的可以让我们在浏览器上保存一些数据 常用的本地存储 localStorage sessionStorage localStorage 特点: 1.长期存储,除非手动删除否则会一直保存在浏览器中&#xff0c;清除缓存或者卸载浏览器也就没有了 2.可以跨页面通讯,…...

对象浅拷贝的5种方式

参考原文:浅拷贝的五种实现方式 - 掘金 (juejin.cn) 哈喽 大家好啊 最近发现自己对对象都不是很熟练&#xff0c;特别是涉及到一些复制&#xff0c;深浅拷贝的东西 1.Object.assign 首先 我们创建一个空对象obj1 然后创建一个对象obj2 用object.assign(目标对象&#xff0c…...

Java每日一练(20230504)

目录 1. 位1的个数 &#x1f31f; 2. 移除元素 &#x1f31f; 3. 验证二叉搜索树 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 位1的个数 编写一个…...

【深度学习】计算机视觉(13)——模型评价及结果记录

1 Tensorboard怎么解读&#xff1f; 因为意识到tensorboard的使用远不止画个图放个图片那么简单&#xff0c;所以这里总结一些关键知识的笔记。由于时间问题&#xff0c;我先学习目前使用最多的功能&#xff0c;大部分源码都包含summary的具体使用&#xff0c;基本不需要自己修…...

项目经理在项目中是什么角色?

有人说&#xff0c;项目经理就是一个求人的差事&#xff0c;你是在求人帮你做事。 有人说&#xff0c;项目经理就是一个与人扯皮的差事&#xff0c;你要不断的与开发、产品、测试等之间沟通、协调。 确实&#xff0c;在做项目的时候&#xff0c;有的人是为了完成功能&#x…...

【技术分享】防止根据IP查域名,防止源站IP泄露

有的人设置了禁止 IP 访问网站&#xff0c;但是别人用 https://ip 的形式&#xff0c;会跳到你服务器所绑定的一个域名网站上 直接通过 https://IP, 访问网站&#xff0c;会出现“您的连接不是私密连接”&#xff0c;然后点高级&#xff0c;会出现“继续前往 IP”&#xff0c;…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...