1、关于变量
【1】 变量类型:
局部变量 (在方法内部使用的变量,只能给这个方法自己使用)(随着方法执行完毕而销毁)
成员变量 (方法外面、类的内部定义的,可以被类的内部其他方法使用) 随着对象销毁而销毁
全局变量 (一般是 public static 修饰的) 也就是说,其他任何类都可以通过 《类名. 全局变量名》
【2】 变量使用
注意问题:变量使用时不能超出作用范围,也必须要先赋值,因为我们使用的变量,要求必须有一个明确值。
在字符串中:a = “”
和 b = string.Empty
是一样的,但它们和 string b=null;
是不一样的。
string a;
string b=null;
如果我们定义一个字符串变量,什么都没赋值,默认是 null,以上虽然 a 和 b 都是 null,但是有区别:null 虽然是空值,但是这个是有赋值的过程。而 a 是没有赋值的。string c=a+"您好"; int lenght=a.Length;
直接使用未赋值的变量 a 时会报错。
【3】 变量命名
在 C#规范里面,变量命名是遵循的命名法是:camel 命名法 (首字母小写:studentName)
2、关于常量:
【1】 使用:固定不变的值,可以定义为常量,在数学模型中经常使用。(做上位机的学员,经常使用)
【2】 命名:一般都是大写 (为了很好区分)
3、关于枚举
【1】 为什么要用枚举?
我们知道,变量可以根据需要定义,来表示我们使用的数据。但是对于我们经常使用的,并且固定的几个值如果我们都定义成变量,使用和不方便,为什么?因为不好记忆!所以,把这几个有限的值,定义成枚举后通过 VS 智能提示,可以更加轻松的让我们使用。比如:MessageBox CommandType …..
【2】 枚举定义的注意事项
- 第一,必须是有限个 (不能太多,一般 2-5 个,6-10,11-20 个)
- 第二,枚举表示的是整数。可以相互转换。
- 第三,枚举我们一般都定义到类外面。因为可以被其他的类使用。
4、关于运算符
【1】 常见运算符 (自己看预科)
【2】 取模运算符 (余数)%(在数据分页等都会用到)/ 取商
【3】 变量自增 num++ 和++mun num– 和 –num 单独从执行的角度来讲是一样。
int num=10;
Console.WriteLine(num++);//输出 10
Console.WriteLine(num);//输出 11
Console.WriteLine(++num);//输出 12
Console.WriteLine(num);//输出 12
for 循环中经常用 i++
5、关于数据类型转换
自动类型转换:一般是值类型之间 (精度小的值类型转换成精度大的值类型!)
static void Method6()
{
double a = 10.25;
int b = 20;
double result = a + b;
Console.WriteLine($"【自动类型转换】10.25+20={result}");
Console.WriteLine("--------------------------------------------------");
}
引用类型到 object 类型是可以直接转换的。(但是尽量避免,我们在这个地方也不举例)
强制类型转换:如果自动类型转换不了,必须使用强制转换! (int)reader["列名"]
【1】 值类型之间强制转换
static void Method7()
{
Console.WriteLine(" \r\n【强制转换1】:(类型名) 表达式 \r\n");
double a = 10.25;
int b = 20;
int result = (int)a + b; //实现强制类型转换,但是精度会丢失
Console.WriteLine($"【dobule-->目标int】10.25+20={result}【精度会丢失】");
a = 10.50;
result = (int)a + b; //实现强制类型转换,但是精度会丢失
Console.WriteLine($"【dobule-->目标int】10.50+20={result}【精度会丢失】");
a = 10.55;
result = (int)a + b; //实现强制类型转换,但是精度会丢失
Console.WriteLine($"【dobule-->目标 int】10.55+20={result}【精度会丢失】");
Console.WriteLine("--------------------------------------------------");
}
【2】 字符串和值类型之间强制转换
(需要注意的是这个字符串必须是值类型的有效表示形式:“20.5” 可以 “20.A” 则不可以)
static void Method9()
{
Console.WriteLine(" \r\n【强制转换2】:类型.Parse('字符串') \r\n");
//有效类型的【字符串】转成【值类型】要求:字符串的格式必须符合目标类型的有效形式
double a = double.Parse("20.5");
float b = float.Parse("20.25");
int c = int.Parse("20");
//非有效形式:张三李四 20.2==>int
//将值类型转成字符串类型,直接使用 ToString() 方法
string aa = a.ToString();
string bb = b.ToString();
string cc = c.ToString();
Console.WriteLine($"a={aa},b={bb},c={cc}");
Console.WriteLine("--------------------------------------------------");
}
【3】 万能转换器 (如果你是一个初学者,前面两种方式你可能记不住,如果没有特殊要求,你都可以使用万能转换器) 需要注意的一点是:小数部分等于 0.5 的时候,转换的结果看整数部分:整数部分为奇数时自动进位、整数部分为偶数时不自动进位。
6、关于分支结构
为什么要使用分支结构? 当我们处理的业务,需要有不同情况,这时候就得单独处理,就用到分支结构。
分支结构,是根据不同的条件,执行不同的业务逻辑。
【1】 条件分支结构:if 、 if – else 、if -else if– else ifelse ifelse ifelse ifelse if-else
特别注意:只要是互斥类型判断,就不要使用多个独立的 if…
if 条件分支一般在任何情况下都可以做条件判断使用。(范围和具体值都行)
【2】 常量分支结构:switch case(等值判断)
switch(表达式)
{
case 值 1:
语句块 1;
break;
case 值 2:
语句块 2;
break;
...
default:
语句块 n;
break;
}
7、关于循环结构
【1】 循环 (for、foreach、while、do while)
for:循环次数固定,不仅是是获取循环内容,可能也会关注循环次序 (1、2、3、4、5、….)
foreach:不关心循环次数,特别注重循环内容 (也就是元素)、无条件执行。
whlie ():不关心循环次数,特别注重的是循环条件的满足,同时循环过程与循环条件没有任何关系。
forech( var 元素 in 集合)
{
对元素进行使用。
}
总结:foreach 循环是遍历容器中的元素
while(循环条件)
{
//自定义的业务内容...
}
总结:根据条件是否满足,循环执行某些自定义业务。
while 中的循环跳出:break、continue 区别
【2】break、continue 和 return
break:在循环中和分支结构中使用,表示跳出。
continue:一定是在循环中使用,本次循环没有结束,就开始下一个循环。
return:表示无条件跳出,通常是我们普通的方法中使用,表示后面的代码不执行。
如果 return 后面有数据,表示这个方法执行完毕后,返回数据。
if (this.txtStudentName.Text.Trim().Length == 0)
{
MessageBox.Show("学生姓名不能为空!", "提示信息");
this.txtStudentName.Focus();
return;
}
if (this.txtCardNo.Text.Trim().Length == 0)
{
MessageBox.Show("考勤卡号不能为空!", "提示信息");
this.txtCardNo.Focus();
return;
}
8、字符串专题
【1】 掌握常用的几种方法:
字符串比较方式 (a==b a.Equals(b))==
在我们 C#中可以比较 《字符串》 和 《值类型》 数据, Equals()
虚方法也是一样的但是以上两种方法不能比较对象,另外在 Java 中,==
是不能直接比较字符串。
【2】 字符串长度的获取:
使用 Length 属性即可:字符串.Length
获取集合中元素的个数可以使用 Count
属性, 如果是数据库中,我们还会看到 Len()
函数
C#开发之——获取字符串长度 (4.2)_PGzxc 的博客-CSDN 博客_c# 字符串长度
【3】StringBuilder 字符串高效处理
![图片[1] - 第02讲:【回顾】C#编程核心语法汇总强化与常见问题分析 - 登山亦有道](http://qiniu.chenyan98.cn/wp-content/uploads/2022/08/7da0346faf.webp)
9. 关于数组
【1】 在什么情况下使用数组?固定元素个数的统一存储。
在我们一般开发中, 使用数组的时候很少了。特别的,上位机开发的可能用的多。 byte[]
【2】 字符串分割和数组使用配合
分割后,都是放到数组中的。特别对于一些文本的数据处理要用。
10. 其他的:
ref(不建议使用)out
private Add(ref int a ,int b)
{
}
作者:晨岩
本站所有文章除特别声明外,均采用 BY-NC-SA 4.0 许可协议。转载请注明出处!