学习目标:

  • 一、控制台的输入输出
  • 二、C#中的变量使用
  • 三、字符串的拼接与格式化的三种方式
  • 四、数据类型转换的三种方式

学习内容:

  1. 1 控制台的输入输出

(1)输入方法:Console.Read();不会换行的输入,Console.ReadLine();会在执行时换行的输入。

(2)输出方法: Console.Write();不会换行的输出,Console.WriteLine();会在执行时换行的输出。

(3)控制台闪退问题的解决办法:在Main()方法中,程序执行的后面加上Consoel.Read()/Console.ReadLine();方法,这样会等待用户输入,而不是执行完程序后直接结束控制台。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Fish.Study1
{class Program{static void Main(string[] args){Console.Read();//防止控制台程序运行时的闪退问题,这里执行完程序时等待用户输入}static void  Test1(){Console.WriteLine("我们正在学习C#快速入门!"); //输出换行Console.Write("我们正在学习C#快速入门!");//输出不换行}static void Test2(){Console.Write("请输入PLC的类型!");string plcType = Console.ReadLine();Console.WriteLine("请输入PLC的协议类型!");string commType = Console.ReadLine();Console.WriteLine(plcType + "的PLC的协议有:" + commType);}}
}

2. 1 理解变量

变量的概念:在计算机的内存中,每个区域都是由16进制的方式划分的,不方便阅读和记忆,所以需要给内存地址一个别名,方便开发者阅读和区分,这个就是变量。

2.2 变量的声明和赋值

三要素:数据类型 + 变量名称 =变量赋值

例如:int studentId =20221108;

string studentName="Fish";

#region 2、变量的使用static void Test3(){int studentId;//变量的声明studentId = 20221108;//变量的赋值string studentName = "Fish";//在声明变量的同时可以给变量赋值。Console.WriteLine("学生姓名:" + studentName + "学号:" + studentId);}#endregion

2.3  变量的命名规范

(1)命名组成:字母(A~Z,a~z);数字(0~9),下划线(_),其他一切皆不可用;

(2)变量名称开头:必须以字母或者下滑线开头。studentName  _studentId.

(3)禁用命名:C#中的关键子(class,this,new,.......)原因:一个班级里面同名同姓的人,老师提问喊名字,会有两个人同时站起来,互相看着对方,在质疑老师喊谁!

(4)命名有意义:尽量不随意取名字,最好达到看名就知道意思,方便阅读;(除非循环计数等场合可以使用单个字母)

(5)大小写:严格区分

(6)规范:Camel命名法,也叫驼峰命名法,变量首字母小写,后面有意义的单词首字母大写。

(7)局部变量:只在一定范围内可以使用的变量。

(8)成员变量:可以在整个类里面调用的变量,也叫做全局变量。

2.4 变量使用的常见错误

(1)没有声明直接使用,鼠标放在红色波浪线会提示“找不到变量。。。。”类似的错误提示。

(2)没有赋值直接使用。

(3)重复定义同一名称的变量,使用C#中的关键字命名。

3.1 字符串的拼接

(1)普通拼接使用“+”连接符,在拼接字符串时的“+”不是数学计算中的加法;

(2)数字占位符拼接{0} {1} {2};

(3)“$"变量占位符,这个使用比较方便,建议使用。

 #region 3、字符串拼接的三种方式static void Test4(){Console.WriteLine("请输入学生姓名:");string studentName = Console.ReadLine();Console.WriteLine("请输入学生学号:");int studentId = Convert.ToInt32 ( Console.ReadLine());//普通拼接string result1 = "这个学生叫:" + studentName + "他的学号是:" + studentId;//数字占位符的方式string result2 = string.Format("这个学生叫: {0} 他的学号是:{1}", studentName, studentId);//变量占位符连接string result3 = $"这个学生叫:{studentName }他的学号是:{studentId }";//输出Console.WriteLine(result1);Console.WriteLine(result2);Console.WriteLine(result3);}#endregion

4.1 数据类型的转换

(1)自动转换

条件:两种类型必须值类型     必须是小类型转换为大类型,例如 int-->double;

(2)强制类型转换(字符串到值类型)

条件: 字符串必须是值类型的有效形式;

(3)完能转换(Convert.)

 #region 4、数据类型转换//1.自动转换static void Test5(){//条件:目标类型 > 我们使用的数据类型double value1 = 100.5;int value2 = 200;double result = value1 + value2;  //自动实现转换Console.WriteLine("自动类型转换结果  100.5+200=" + result);  //300.5//思考//int result1 = value1 + value2;}//2.强制转换(值类型)static void Test6(){double value1 = 100.6;int value2 = 200;//如果目标类型小于使用的数据类型,在转换后,会全部舍掉小数 (精度丢失)int result = (int)value1 + value2;Console.WriteLine("自动类型转换结果  100.6+200=" + result);}static void Test7(){object value1 = 100.6;int value2 = 200;//必须是要转换类型的有效表示形式int result = (int)(double)value1 + value2;Console.WriteLine("自动类型转换结果  100.6+200=" + result);}//强制转换(字符串和值类型之间的转换)static void Test8(){double value1 = double.Parse("100.5");float value2 = float.Parse("20.36");int value3 = int.Parse("500");//int value3 = int.Parse("500.6");DateTime value4 = DateTime.Parse("2022/05/30");Console.WriteLine($"{value1} {value2} {value3} {value4.ToShortDateString()}");}//万能转换器static void Test9(){double value1 = Convert.ToDouble("100.5");float value2 = Convert.ToSingle("20.36");int value3 = Convert.ToInt32("500");   //同样要求要转换的内容必须是目标类型的“有效表示形式”DateTime value4 = Convert.ToDateTime("2022-05-30");Console.WriteLine($"{value1} {value2} {value3} {value4.ToShortDateString()}");}#endregion

学习时间:

  • 周一晚上9:30~11:30
  • 周三晚上9:30~11:30

学习产出:

笔记1篇

CSDN总结一篇

C#工控上位机开发-->1、C#快速编程入门相关推荐

  1. 基于C#的工控上位机软件开发从入门到学废,需要几步?

    基于C#的工控上位机软件开发从入门到学废,需要几步? 随着工控产品的应用,开始大幅度渗透进民用领域.涉及的工控产品范围广泛,如PLC.DCS.变频器.仪表.电机.SCADA.低压及配电元器件等. 准备 ...

  2. C#工控上位机——框架

    C#工控上位机 第一部分:UI模块 先点击一下Panel,在点击一下屏幕. 先选中Panel,在进行属性设置. 图标连接 嵌入式窗体 设置按键的事件 using System; using Syste ...

  3. C# Winform工控上位机控件库

    C# Winform工控上位机控件库 通讯库集成:支持西门子.欧姆龙.施耐德等主流PLC 报警窗口:报警配置自动弹出 报警历史:报警历史自动保存 数据库操作:增删改查 说明:包含DLL库和使用教程,不 ...

  4. C#工控上位机实例_「C#上位机」西门子1200PLC实用定位控制程序案例

    ​1. 引言 本文是一篇综合性非常强的文章,从PLC输入输出及步进电机接线开始,到PLC运动控制程序编写,再到后续的ModbusTCP通信协议及上位机编程实现最终控制,涉及知识面比较广,能够让我们很好 ...

  5. C#工控上位机实例_南京物流仓库【仓库物流】_智能云仓储库存wms管理分配货_电子标签价签拣货系统_工控erp上位机软件开发设计...

    ?南京滨江开发区300平方变压器250KVA厂房陆郎加油站附近开发区 | 物流仓库 | 厂房招租 南京滨江开发区陆郎加油站附近300平方独门独户厂房招租?变压器250KVA?适合小型磨具机械加工无污染 ...

  6. C#工控上位机实例_工控学习,搞工控的到底什么是上位机,什么是下位机?

    上位机 上位机是指可以直接发出操控命令的计算机, 一般是PC/host computer/master computer/upper computer, 屏幕上显示各种信号变化(液压,水位,温度等). ...

  7. 485通信原理_上位机开发之单片机通信实践

    经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的.PLC的本质就是单片机,在 ...

  8. java开发plc上位机软件开发_上位机开发之西门子PLC-S7通信实践

    写在前面: 就目前而言,在中国的工控市场上,西门子仍然占了很大的份额,因此对于上位机开发而言,经常会存在需要与西门子PLC进行通信的情况.然后对于西门子PLC来说,通信方式有很多,下面简单列举一下: ...

  9. pythonqt4上位机开发_「新阁教育」自由口通信上位机实战案例

    1.引言 组态软件作为一种通用软件,体系结构较为庞大.功能软件包多.价格也比较昂贵,而且对于一些复杂的业务逻辑或自定义的协议,实现起来比较麻烦.近几年,C#/.NET上位机开发应用越来越广泛,相对于传 ...

最新文章

  1. python使用什么函数接收用户输入的数据_python 3.x:调用和执行函数的用户输入...
  2. quartz 动态添加job_SpringBoot+Quartz实现动态管理定时任务
  3. AI机器人:机器人语音文本智能交互之自定义软件——实现模拟中本聪与V神跨时空畅谈
  4. python zookeeper_ZooKeeper的安装以及客户端Kazoo(Python语言)的安装与使用
  5. php中的echo、print,print_r、var_dump
  6. bat文件打开一闪就没了_window文件夹目录树的创建
  7. 常见排序算法:冒泡排序
  8. Silverlight 4 的打印支持
  9. 佛祖保佑,永无BUG
  10. 周鸿祎评互联网大佬的编程能力:我能排前三,谁排第一?
  11. EXCEL 利用替换、分列、填充功能综合整理财务数据
  12. redis 8种淘汰策略
  13. git add/rm/mv文件到暂存区
  14. 数据资产管理及数据管控体系建设思路
  15. 永恒之蓝漏洞补丁-MS17010补丁列表KB号
  16. 关于BUCK-BOOST电路的负压生成
  17. Android锁屏下弹窗的尝试,android开发实战我的云音乐
  18. 15 个为编程初学者准备的网站
  19. RocketMQ源码分析(十五)之文件恢复
  20. 2021-4-19学习笔记

热门文章

  1. 自学python入门训练营 李笑来_1901090043-自学训练营学习9群-PYTHON入门
  2. MYSQL数据库的基本操作八(存储函数)
  3. nohup怎么更改名字_公司相关信息更改、公司注销不可漏缺步骤
  4. vue中的this.nextTick()
  5. golang $or $in $ge $gte 查询使用
  6. [高项]应急储备VS管理储备
  7. Oracle - 【连接1】广义笛卡儿积+一般连接+自连接
  8. 京东第二轮裁员来袭,套路满满:假装劝退,劝员工找工作,贬低工作能力,忽悠员工不走仲裁!...
  9. linux网卡链路聚合
  10. CS61A Lab 2