【1】VS Code 新建上位机项目---C#基础语法

devtools/2025/2/25 6:43:48/

VS Code 新建上位机项目---C#基础语法

  • 1 基本概念
    • 1.1 准备工具
    • 1.2 新建项目
  • 2 C#编程基础
    • 2.1 命名空间和类
    • 2.2 数据类型
    • 2.3 控制台输入输出
      • 2.3.1 输入输出: write 与 read
      • 2.3.2 格式化 : string.Foramt() 与 $
      • 2.3.3 赋值与运算
    • 2.4 类型转换
      • 2.4.1 数值类型之间的转换:(int)
      • 2.4.2 字符串与数值类型之间的转化: .Parse() 与 .ToString()
      • 2.4.3 强制转换 Convert.To
    • 2.5 逻辑指令
      • 2.5.1 选择语句: if(适合区间判断)
      • 2.5.2 优先级与if else
      • 2.5.3 三元运算符
      • 2.5.4 多条件与嵌套: if - else if
      • 2.5.5 分支结构:switch(适合等值判断)
      • 2.5.6 循环结构: for
      • 2.5.7 循环结构: while 条件循环
      • 2.5.8 循环结构: do while
  • 3 字符串与数组
    • 3 .1 字符串
      • 3.1.1 索引位置: IndexOf()获取长度: .Length属性,截取:Substring()
      • 3.1.2 字符串比较: .Equals()
      • 3.1.3 空值字符串
      • 3.1.4 字符串去除空格: .Trim()
      • 3.1.5 字符拼接: StringBuilder() 类
      • 3.1.6 转义字符
    • 3.2 数组
      • 3.2.1 数组的定义
      • 3.2.2 元素的遍历: foreach(int element in Data)
      • 3.2.3 数组与字符串拼接:Split() 与 string.Join() 与Repalce()
  • 4 值类型与引用类型
  • 5 .NET底层类与C#关键字
  • 6 常量与枚举
    • 6.1 常量:const
    • 6.2 枚举:enum
      • 6.2.1 自定义枚举
      • 6.2.2 系统枚举:对话框,星期
  • 7 调试:debug

1 基本概念

1.1 准备工具

  1. 安装 VS Code 2022 社区版
  2. 安装 MySql 2019
  3. 安装 .NETFrameWork .NET 8.0

1.2 新建项目

  1. 打开VS Code。新建项目。选择控制台应用(.NET Framwork)
    在这里插入图片描述
  2. 修改项目名称,存储位置,框架( .NET 4.0/4.6对应VS Code2019),这里选择( .NET 4.8 来适配VS Code2022,因为是基于 .NET Framework 框架开发的,所以必须要选择合适的版本。点击创建。
    在这里插入图片描述
  3. VS code 默认创建了一个新的控制台项目。
    在这里插入图片描述
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace HMI_Test
{
//项目的组成部分internal class Program{static void Main(string[] args){}}
}

解决方案:
(1)Properties:项目的属性信息,程序集AssemblyInfo。
(2)引用:需要调用计算机或者第三方配置的东西。(有时项目到其它电脑无法运行,就是因为引用的东西不存在)
(3)App.config:运行时使用的参数。
(4)C# Program:项目入口文件,程序从这里开始执行。

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

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

2 C#编程基础

2.1 命名空间和类

类是程序的基本单元,实现封装要处理的库或者是具体的处理过程

using System; //引入的命名空间
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; //引用namespace HMI_Test  //命名空间
{internal class Program  //类的名称{//字段,属性,构造方法等等static void Main(string[] args)  //方法{}}
}

(1)命名空间
【1】必须要有:任何一个类都要属于一个特定的命名空间。
【2】用于管理:通过命名空间更好的对“类”进行分类管理,
【3】自己规划:一个项目可以根据实际需要,开发者自己划分若干命名空间。
【4】默认名称:默认命名空间和项目名称相同。
【5】使用方法:用“.”来分割,但是不表示包含关系。(理解成层次关系)【6】特别注意:不能以数字、特殊字符开头,也不建议用中文。

(2)引入时机
【1】情况1:如果两个类所在的命名空间不同.
【2】方法1:其中一个类使用另一个类,则要引入命名空间(使用using)或者“限定名”
【3】情况2:如果两个类所在的类库不同。
【4】方法2:先引入类库,再引入命名空间。

2.2 数据类型

在这里插入图片描述

int data1 = 16
double data2 = 20.0 //浮点双精度
float data3 =20.0f //浮点单精度
string name ="你好世界" ; //字符串
char name1 ='2'; //字符
bool stop = falsebool start = ture;
DateTime dt = Convert.ToDateTime()
  1. 变量

变量是数据的存储空间,可以理解为存储地址的别名

数据类型 变量名称 变量值

2.3 控制台输入输出

2.3.1 输入输出: write 与 read

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;namespace Thinger.ConsoleAndOperation
{internal class Program{static void Main(string[] args){//Test1();  //调用方法Test1();Console.ReadLine();//读取}#region  //Write and Writelinestatic void Test1(){Console.Write("请输入学员姓名:");    //输入的位置与注释在同一行Console.WriteLine("请输入学员姓名:");//输入的位置与注释非同一行}#endregion //折叠语句#region  //Readlinestatic void Test2(){ Console.Write("请输入学员姓名:");//输入学员姓名string name = Console.ReadLine(); //读取控制台的信息给name//从控制台读取和写入的信息都是字符串类型Console.Write("请输入学员成绩:");//输入学员成绩int score =int.Parse ( Console .ReadLine ());//需要将读取的字符转换成intConsole.WriteLine("姓名:"+name+ " 成绩:"+score);//显示}#endregion

控制台输入输出都是字符串,write/read与writeline/readline之间的差距就是是否有换行

2.3.2 格式化 : string.Foramt() 与 $

#region  //字符串的格式化方法string.Foramt() 和 $static void Test3(){Console.Write("请输入学员姓名:");//输入学员姓名string name = Console.ReadLine(); //读取控制台的信息给nameConsole.Write("请输入学员成绩:");//输入学员成绩int score = int.Parse(Console.ReadLine());//需要将读取的字符转换成intConsole.Write("请输入学员班级:");//输入学院班级string classname= Console.ReadLine();//普通拼接string result = "姓名:" + name + " 成绩:" + score + " 班级:" + classname;Console.WriteLine(result);//格式化方法1 string.Format(result,classname)string result1 =string.Format("姓名:{0} 成绩:{1} 班级: {2}",name,score,classname);Console.WriteLine(result1);// Console.WriteLine("姓名:{0} 成绩:{1} 班级: {2}",name,score,classname);//格式化方法2string result2 = $"姓名:{name} 成绩:{score} 班级: {classname}";Console.WriteLine(result2);//Console.WriteLine($"姓名:{name} 成绩:{score} 班级: {classname}");}#endregion

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

//货币格式
int money=5000string moneyType = string.Format(“总金额:{0:C},money);
Console.Writeline($"总金额:{money:C}")
//保留小数点
double num = 5.6666;
double num1 = num.ToString("0.00");//保留两位小数
double num1 = num.ToString("0.000");//保留三位小数

2.3.3 赋值与运算

    #region  //赋值与运算符static void Test4(){int a = 16; // 赋值int b = 20;int c = 12;int result = a + b;Console.WriteLine ($"结果 {result}");a += b;//a=a+ba -= b;//a=a-ba *= b;//a=a*bresult = a % b;//a对b取余// c++; //c=c+1// c--;//c=c-1//++c;//c=c+1// --c;//c=c-1Console.WriteLine($"c={c++}");//先输出c的值,再执行++Console.WriteLine($"c={++c}");//先执行++,再输出c的值string name1 = "James";string name2 = "jacks";string name3 = "James";// bool result1=name1.Equals(name2);//指令的等于// Console.WriteLine(result1);Console.WriteLine(name1 == name2);//运算符等于Console.WriteLine(name1 != name2);//运算符不等于Console.WriteLine(a > b);Console.WriteLine(a <= b);}#endregion}
}

在这里插入图片描述

2.4 类型转换

2.4.1 数值类型之间的转换:(int)

自动转换:目标类型大于使用的数据类型就可以实现自动类型

double a = 100.5;//双精度浮点
int b =200;//整型
double result = a+b;//转换成双精度浮点可以运行
int result2 = a+b;//转换成整型会报错

强制转换:当目标类型小于使用的数据类型

<

http://www.ppmy.cn/devtools/161514.html

相关文章

MATLAB实现四阶龙格库塔法求解常微分方程组

MATLAB实现四阶龙格库塔法求解常微分方程组 MATLAB实现四阶龙格库塔法求解常微分方程组/f.m , 107 MATLAB实现四阶龙格库塔法求解常微分方程组/RungeKutta.m , 844 MATLAB实现四阶龙格库塔法求解常微分方程组/四阶龙格库塔法求解常微分方程组.pdf , 93258

自注意力机制和CNN的区别

CNN&#xff1a;一种只能在固定感受野范围内进行关注的自注意力机制。​CNN是自注意力的简化版本。自注意力&#xff1a;具有可学习感受野的CNN。自注意力是CNN的复杂形态&#xff0c;是更灵活的CNN&#xff0c;经过某些设计就可以变为CNN。 越灵活、越大的模型&#xff0c;需要…

鸿蒙5.0实战案例:基于原生能力的深色模式适配

往期推文全新看点&#xff08;文中附带全新鸿蒙5.0全栈学习笔录&#xff09; ✏️ 鸿蒙&#xff08;HarmonyOS&#xff09;北向开发知识点记录~ ✏️ 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…

HTML之JavaScript DOM编程获取元素的方式

HTML之JavaScript DOM编程获取元素的方式 1.获得document DOM树window.document(是window的属性)2.从document中获取要操作的元素1.直接获取var aaa document.getElementById("username") // 根据元素的id值获取页面上的唯一一个元素,有同名的则返回找到的第一个var…

java23种设计模式-原型模式

原型模式&#xff08;Prototype Pattern&#xff09;学习笔记 &#x1f31f; 定义 原型模式属于创建型设计模式&#xff0c;通过复制现有对象&#xff08;原型&#xff09;来创建新对象&#xff0c;避免重复进行初始化操作。该模式的核心是实现对象的克隆能力。 &#x1f3af…

Java基础进阶提升

(一)Java基础 面向对象java语法常用类&#xff0c;api数据类型方法、对象、引用运算符、操作符关键字、关键词 (二)java进阶 异常、异常分类与处理线程同步、守护线程多线程、IO流接口、多继承jdk、jre、jvm反射、泛型类继承、方法覆盖 (三)数据库 Mysql数据库Oracle数据库…

Cookie 与 localStorage_浏览器存储机制全解析

1. 引言 在现代 Web 开发中,浏览器存储机制是不可或缺的一部分。无论是保存用户偏好、会话信息还是缓存数据,选择合适的存储方式对于提升用户体验和应用性能至关重要。本文将深入探讨两种常见的浏览器存储机制:Cookie 和 localStorage。我们将详细介绍它们的基本概念、应用…

Windows 11【1001问】Windows 11系统硬件配置要求

Windows 11 的设计目标是让用户更贴近自己喜欢的内容&#xff0c;在其发布之际&#xff0c;计算机在连接、创作以及游戏体验方面扮演了更加核心的角色。在设定 Windows 11 的最低系统要求时&#xff0c;我们依据三个关键原则来指导决策&#xff0c;以确保用户能够获得卓越的使用…