C#
风倦
人们在一眨眼间作出的决策,其内涵远比表象来的复杂
展开
-
SQL Server数据库无法连接
解决方法:以管理员身份打开cmd,输入:net start mssqlserver。原因:sql server服务器未开启。原创 2023-08-17 14:39:02 · 1314 阅读 · 2 评论 -
利用PowerDesigner、SqlServer、MicrosoftExcel建立数据库全过程
【1】PowerDesigner板块在PowerDesigner中设计好要用到的表,将其用到的主外键关系都搭建好,注意先不要设置标识列,这样方便后面用Excel表往SqlServer里导入数据所有的表和关系都建立好以后,生成数据库,生成一个.sql文件【2】SqlServer板块首先手动建立一个数据库将生成的.sql文件拖进去,选中新建的数据库,运行这些语句,就将自己建好的表结构都导入了【3】MicrosoftExcel板块首先可以先导出该数据库的表结构,生成多张excel表,在原创 2021-04-21 11:49:17 · 350 阅读 · 0 评论 -
三十三、C#中的接口
1.接口【含义】接口是一种能力【语法】public interface MyInterface(){ //该类下所有方法都是抽象方法:默认public abstract,而且不需要写 void door(); //其他抽象方法 //其他属性}【特性】①接口不可以被实例化②实现类必须实现接口的所有方法③实现类可以实现多个接口(C#中的多继承)④接口中的变量都是静态常量案例一:USB接口(面向接口编程)【编写接口】publ.原创 2020-11-28 02:05:35 · 668 阅读 · 3 评论 -
三十二、C#中的虚方法、抽象类和抽象方法(里氏替换原则)
1.虚方法2.抽象类3.抽象方法原创 2020-11-27 22:30:24 · 358 阅读 · 0 评论 -
三十一、C#中的继承(含案例)
1.面向对象特征封装、继承、多态2.继承3.多态原创 2020-11-27 16:33:14 · 1126 阅读 · 0 评论 -
三十、C# 类之间的通信(opp实例)
案例一:编写控制台程序,模拟小汽车Car奔跑:编写Car类(车名、颜色、产地),实现Run()方法添加有参构造方法,在构造函数中给成员赋值,通过构造函数创建对象,并调用Run()方法重载Run()方法,给Run()传递一个int类型参数speed(最高车速),输出信息,车速通过参数传递//创建一个Car类namespace demo14{ /// <summary> /// 小汽车类 /// </summary> publ原创 2020-11-26 22:23:20 · 1170 阅读 · 1 评论 -
二十九、深入类
1、随机数:生成设备ID:为公司购买的3台不同型号的计算机进行编号,编号的规则是“计算机型号 + 4位随即号”,编号完毕后,输出每台计算机的信息static void Main(string[] args){ Random random = new Random();//随机数对象 for (int i = 0; i < 20; i++) { int result = random.Next(1, 10);//返回0-9的整数 random.Nex原创 2020-11-26 18:21:52 · 138 阅读 · 3 评论 -
二十八、C#中的结构、枚举、集合
1.结构struct【定义一个老师结构】namespace Demo11{ /// <summary> /// 老师结构 值类型,具体的,读取速度更快;结构字段不可以赋初始值;不能显示的去写一个不带参数的构造方法1 /// </summary> public struct Teacher { public Teacher(string name,int age,string subject) {原创 2020-11-26 00:23:36 · 241 阅读 · 7 评论 -
二十七、基础语法之超市案例
1.foreach 迭代循环//foreach 迭代循环(只读类型)string str = "abcdef";foreach (var item in str)//var 弱类型 会自动转换成在str中读取到的内容的类型{ Console.WriteLine(item); Console.WriteLine((int)item);//将char类型转换成int类型,其实也就是字符对应的ASCI码值}int[] nums = { 1, 2, 3, 4, 5, 6 };fo原创 2020-11-25 18:53:03 · 159 阅读 · 0 评论 -
二十六、C#中的数据类型转换
1.数据类型转换分类【1】显示转换(强制转换)double.Parse()、int.Parse():将字符串类型转换成对应的值类型【2】隐式转换(自动转换)int i =1;double int;2.装箱拆箱装箱:将“值类型”转换为“引用类型”,如:age.ToString()、objiect obj=13拆箱:将"引用类型”转换为“值类型”大箱子:引用类型,值存放在托管堆中,如:Array数组、object、class类、interface接口、List...原创 2020-11-25 17:07:34 · 604 阅读 · 0 评论 -
二十五、C#中的string字符串处理类
1.常用的字符串处理方法【1】查找某个字符在字符串中的位置 string.IndexOf(char value):从左往右找 string.LastIndexOf(char value):从右往左找string email = "1175707786@qq.com";int index = email.IndexOf('.'); if (index > 0){ Console.WriteLine("合法!"); C...原创 2020-11-21 20:59:44 · 356 阅读 · 1 评论 -
二十四、初识static
案例一:【注1】将项目名定义为静态变量之后,可以直接用“类名.项目名”,不需要再重新创建一个对象class Program{ public static string projectName; //所有标识了static关键词的结构,应用程序在运行加载时,就会提取到虚拟内存中 //用static 标识的内容属于常驻变量的内容,不会释放,除非程序关闭 static void Main(string[] args) { Console.Writ原创 2020-11-20 17:00:41 · 177 阅读 · 0 评论 -
二十三、引用传参ref、out
案例:交换两个数字static void Main(string[] args){ //数字交换 int num1 = 5, num2 = 3; Console.WriteLine($"交换前:数字1为 {num1},数字二为 {num2}"); Swap(num1,num2);//交换 Console.WriteLine($"交换后:数字1为 {num1},数字二为 {num2}"); Console.ReadLine(); //值类型传参原创 2020-11-20 16:08:44 · 168 阅读 · 0 评论 -
二十二、封装
1.隐藏内部细节,开放对外窗口namespace demo7{ public class Student { public string name; //没学属性之前 //要封装内部细节,变量age保持私有 //隐藏队内的逻辑 private int age; //对外开放的方法 public void SetAge(int age)//判断合法 {原创 2020-11-20 15:00:11 · 78 阅读 · 0 评论 -
二十一、类的带参方法
1.有参方法语法:<访问修饰符>返回类型<方法名>(<形式参数列表>){ //方法的主体}案例一:定义一个榨汁机类,能够实现按不同的水果榨出不同的水果汁//定义一个榨汁机类namespace demo5{ /// <summary> /// 榨汁机 /// </summary> public class Zhazhiji { /// <...原创 2020-11-19 17:24:14 · 494 阅读 · 0 评论 -
二十、c#中面向对象的编程(OOP)——类的无参方法
1.案例一:从键盘接收三门课分身术,计算三门课的平均分和总成绩,编写成绩计算类实现功能namespace demo4{ /// <summary> /// 计算成绩类:包括java、csharp、db /// </summary> public class ScoreCalc { //静态特征(成员变量) public int java; public int csharp;原创 2020-11-19 16:07:33 · 910 阅读 · 0 评论 -
十九、定义和使用类的方法
1.访问修饰符public公共的 ,权限最大(类、属性、方法)protected限制访问的,继承关系中使用internal当前命名空间或项目(同一个demo)下使用,一般用于修饰类、字段,除非添加引用关系private私有的,权限最小(当前类下才可以用)【注】如果类的成员(属性、方法)命名前不加任何访问修饰符,默认为private如果类命名前不加任何访问修饰符,默认为internal2.返回值类型void 无返回值:如:public void Run(),其...原创 2020-11-19 11:16:07 · 326 阅读 · 0 评论 -
十八、C#中的类和对象
1.类在文件资源管理器下新建一个顾客类,命名为Customer.cs,并描述顾客的静态特征,姓名、性别、年龄等namespace demo1{ /// <summary> /// 顾客类(抽象) 定义一个数据结构 /// </summary> public class Customer//抽象模板 { //描述其静态特征 public string name; public char原创 2020-11-17 20:15:04 · 308 阅读 · 1 评论 -
十七、C#中的冒泡排序
案例:一个班级5个学生,身高分别为:171、165、180、190、185要求从低到高站队【分析】1.从小到大排序:每次比较相邻两数,小的交换到前面,每轮结束后最大的数交换到最后2.实质:循环比较3.方法:五个数字存放在一维数组之中,外层控制比较多少轮,内层控制每轮比较多少次4.口诀:(升序)N个数字来排队,两两相比小靠前,外层循环N-1,内层循环N-1-iint[] height = new int[5] { 171, 165, 180, 190, .原创 2020-11-17 19:17:22 · 257 阅读 · 0 评论 -
十六、二重循环(嵌套循环)
案例一:若有3个班级,每个班级各4名学员参赛,如何让计算每个班级参赛学员的平均分int classNum = 3;//打印班级——> 外层循环for (int i = 0; i <= classNum; i++){ Console.WriteLine($"请输入第{i+1}个班集的学生成绩:"); //打印每班学生的成绩——> 内层循环 double sum = 0; //刷新每一个班的总分 double[] scores = n原创 2020-11-17 16:04:50 · 575 阅读 · 0 评论 -
十五、c#中的数组
含义:数组是一个变量,存储相同数据类型的一组数据声明一个变量就是在内存空间划出一块合适的空间,声明一个数组就是在内存(托管堆)中划出一串连续的空间【注】堆中存放数组类型(更灵活),栈中存放值类型(如int类型)(更快)。使用数组四步走:【1】声明数组int[] a; //空不空格都可以【2】分配空间a = new int[5]; //在内存中分配了5块空间【3】赋值a[0] = 8; //通过下标获取或赋值,注意不要下标越界//初始化...原创 2020-11-17 13:45:23 · 577 阅读 · 0 评论 -
十四、c#循环中的continue
案例一:统计平均分大于80分以上的学生比例7位学生分数分别为:85、75、65、99、87、62、77 int num = 0; for (int i = 0;i < 7; i++) { Console.WriteLine($"请输入第 {i + 1} 名同学的成绩:"); int score = int.Parse(Conso原创 2020-11-17 13:03:43 · 1230 阅读 · 0 评论 -
十三、c#循环中的break 语句
案例一:跑4000米,每一圈为400米,跑到第5圈放弃//一般break位于if选择结构中for (int i =1;i <= 10; i++){ if (i == 5){ break; } Console.WriteLine($"跑了第 {i} 圈");}Console.Read();//关于switch中的breakfor (int i =1;i <= 10; i++){ switch(i){ case 5原创 2020-11-17 11:18:19 · 862 阅读 · 0 评论 -
十二、c#中的for循环
语法:for(参数初始化; 条件判断; 更新循环变量){ 循环操作;}【注】1.初始化参数、更新循环变量可以写多个,用逗号隔开2.变量定义、增量都可以不写(其实是挪到了for()括号外),但是分号必须写3.如果整个程序缺少循环条件,可能会陷入死循环4.其中的条件判断语句只能写一个执行顺序:参数初始化-->条件判断(为true)-->进入循环体-->更新循环变量案例一:循环输入某同学S1结业考试的五门课成绩,并计算平均分C..原创 2020-11-17 10:26:10 · 9463 阅读 · 0 评论 -
十一、使用do while循环
语法:do{ 循环操作}while(循环条件);特点:先执行,再判断案例:老师给张每天安排学习任务。经过几天的学习,老师给张浩一道测试题,让他先上机编写程序完成,然后老师检查是否合格。如果不合格,则继续编写。//正确的逻辑应该是:先考试,有了成绩以后,再去判断是否合格string answer ;//声明变量,作用域为:do{} 内部和外部都可以使用该变量do{ Console.WriteLine("上机编写程序!"); Console.Write.原创 2020-11-16 17:22:01 · 2613 阅读 · 0 评论 -
十、循环的含义、使用while循环
1.理解循环的含义案例:小明要写100遍“好好学习,天天向上!”int count = 1;while (count <= 100) //如果这里不控制跳出,不加限制条件(即默认为true),则陷入死循环{ Console.WriteLine($"第{count}遍写:好好学习,天天向上!"); count++; //自增+1}循环结构:循环条件 + 循环操作2.while 循环语法:while (循环条件) { 循环操作.原创 2020-11-16 16:32:00 · 652 阅读 · 0 评论 -
九、选择结构——switch case
1.原创 2020-11-16 14:55:42 · 563 阅读 · 0 评论 -
八、选择结构——if else
1.基础的if结构语法:if(条件表达式1){ 代码块1}if(条件表达式2){ 代码块2}...案例:张C#成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者C#成绩等于100分,音乐成绩大于70分,老师也可以奖励他int score1 = 100; // 张的C#成绩int score2 = 72; // 张的音乐成绩if ( ( score1 >98 && score2 > 80 ) || ( score1 == 1...原创 2020-11-16 10:50:00 · 967 阅读 · 0 评论 -
七、断点调试
★断点调试的快捷键:F5:跳转到第一个断点F9:设置断点(也可以直接点击)【碰到方法不进入】F10:按顺序从上到下严格逐步调试F11:按逻辑从上到下逐句调试,遇到方法,则先执行方法,即使这个方法在整个代码段的最后面1.在如图所示的语句左边设置断点//例: int age = 19; //age:19⚪ age += 20; //age:39⚪ age++; //age:40⚪ Console.WriteLine(age); //age:40...原创 2020-11-16 10:41:10 · 207 阅读 · 1 评论 -
六、常量
1.变量可以随意修改内容,但是常量不可以//例1:string name = "张";name = "李";Console.WriteLine(name);//结果为:李//例2:const string name = "张三";name = "李四";//name报错Console.WriteLine(name);注:const 为常量修饰符,默认是静态的2.常量的拼接//例1:const string name = "张三";string hobby .原创 2020-11-16 10:34:57 · 76 阅读 · 0 评论 -
五、运算符的优先级
1.一元运算符: ++ --//例1:int age = 21;//声明一个4字节大小的空间age++; Console.WriteLine(age); //输出打印//例2:int age = 21;Console.WriteLine(age++);注:age++ 等同于:变量 = 变量 + 1 age-- 等同于:变量 = 变量 - 1//例3:int age = 21;Console.WriteLine(++age);注:age++ :先使...原创 2020-11-16 10:30:27 · 1086 阅读 · 0 评论 -
四、C#中的变量
1.字符串类型String name1 = "张";//字符串类型Console.WriteLine(name1);//输出打印Console.Read();格式:数据类型 变量名 = 值;含义:在内存中声明一个String(无限大),即分配一定大小的内存,内存的名字叫name,内存中存放一个值“张三”2.字符类型char gender = 'a';//2个字节,可以是单个字母、一个汉字//char gender = '男'; √//char gender = 'ab';.原创 2020-11-16 10:17:57 · 238 阅读 · 0 评论 -
三、命名规范
针对:类、方法、变量1.帕斯卡命名法要求:每个单词首字母大写应用对象:类、方法、属性eg:Program 、WriteLine()2.驼峰命名法要求:首个单词首字母小写,后面的每个单词首字母大写应用对象:变量eg:userNameTest注:变量命名规范(驼峰命名法),不能以数字开头,其中的特殊符号只有下划线 _ 可以使用...原创 2020-11-16 10:14:07 · 125 阅读 · 0 评论 -
二、注释
1.注释的分类:单行注释多行注释文档注释1)单行注释Console.WriteLine("你好!");//输出打印2)多行注释//方式一:/*作者时间...*///方式二:/**张三*李四*...* **/3)文档注释位置:在方法和类的上方如:程序主类、主方法(程序入口)2.注释的特点一般来说,代码先编译,后执行,但是注释不参与编译3.注释的好处帮助更好的阅读代码4.C#注释 PK JAVA注...原创 2020-11-16 10:08:21 · 121 阅读 · 0 评论 -
一、控制台类下的输入输出
一、控制台类下的输入输出1.在控制台输出:Console.WriteLine();//输出后换行Console.Write();//输出后不换行2.从控制台输入:Console.ReadLine();//读取一行,并且返回值类型为StringConsole.Read();//等待输入二、从控制台输出的方式1.Console.WriteLine(); // 相当于换行2.Console.WriteLine(要输出的值); // 输出一个值例1:Co...原创 2020-11-16 09:54:54 · 387 阅读 · 0 评论