m1w1d2_console_variable_constant
输入Console.WriteLine();
输出Console.ReadLine();
快捷键
折叠代码:快捷键“Ctrl+ K + S”
隐藏当前代码:组合键“Ctrl + M,M”
显示全部代码:组合键“Ctrl + M,L”
注释:组合键“Ctrl + K + C”;
取消注释:组合键“Ctrl + K + U”
批量操作:按住Alt选择一片区域,前段会有蓝线
快捷写法
Console.WriteLine();CW + 双击T
switch语句快速生成枚举方法,复制枚举名在switch()里,双击TAB
for循环,按两下TAB
i++:for+按两下TAB
i--:forr+按两下TAB
变量名命名要求
1、变量名头必需以字母或下划线"_"开头
2、变量名体只能是数字,字母,下划线的组合
3、不能使用编程语言的关键字
4、在作用域内,不能同名
命名是有法则的
1、命名要有意义(概括变量里数据的规律)
2、变量使用驼峰命名法(除了第一个单词首字母小写,其余单词首字母全大写)
3、类与方法使用帕斯卡命名法(每个单词的首字母都大写)
1、定义一个变量:数据类型 变量名;
2、给变量赋值:变量名 =(赋值符号) 值(数据)
常量:
const 数据类型 常量名
命名法则:全大写,单词之间用下划线分隔
常量在定义时一定要赋值(初始化赋值)
常量的值不可以更改
m1w1d2_ide
复制代码
关闭番茄插件的拼写纠错,Visual Assist Options的Underlining
调整行号:工具-选项-文本编辑器-C#-行号
调整主题:工具-选项-环境-常规-颜色主题-深色
调整字体:工具-选项-环境-字体颜色(推荐字体Consolas)
取数据类型的长度:sizeof()
基础数据类型所占字节:
ASCII表
0-9:48-57
A-Z:65-90
a-z:97-122
字符串格式化输出:
Console.Writeline($"最大值{max}");
$符号,{}里可以直接填变量
显式转换:
Convert:用于所有基本类型之间的转换
Convert.ToInt16('A');
Parse:将字符串转换成一个特定类型
int.Parse(Console.ReadLine());
强制转换符:用于数值类型(整型,浮点型,char)和派生(继承)之间的转换
int a = (int)'a'
复制代码
m1w1d4_operator
条件运算符:第一表达式?第二表达式:第三表达式
第一表达式必须是布尔表达式
第二和第三表达式必须和接收的类型一致
如果第一表达式为true时,返回第二表达式结果
如果第一表达式为false时,返回第三表达式结果
m1w1d5_randomnumber
随机数
Random roll = new Random();
roll.Next(-10 , 11);
m1w2d2_complex_datatype
复制代码
基本数据类型
1、定义变量,2、使用变量
复杂数据类型
1,定义类型,2、定义这个类型的变量、2、使用变量
枚举:一般情况我们用枚举来表示一组状态的集合
定义类型 一般情况下我们都放在类外面定义
enum 自定义枚举名
{
成员(枚举项),
成员(枚举项),
}
每个枚举项都可以赋整数值
如果没有赋值,他的值是前一枚举项的值+1
第一个枚举项如果不赋值,默认值0
赋值原因:给枚举项建立数学联系(属性相克)
定义这个类型的变量时,枚举的值,只能是所规定的枚举项
自定义枚举名 变量名 = 自定义枚举名.某一枚举项
枚举转字符串:对应的变量,调用toString()方法,可以将枚举转字符串
字符串转成枚举:(Occupation)Enum.Parse(typeof(Occupation), "道士");
复制代码
m1w2d3_array
复制代码
1、定义一个数组变量
数据类型[] 变量名;
int[] array;
数据类型[] 变量名 = {成员,成员};
int[] array1 = { 1, 2, 3, 4, 5 };//不指定元素个数,只指定元素
int[] array2 = new int[8] { 1, 2, 3, 4, 5, 6, 7, 8 };//先限制元素个数,然后再指定元素
数据类型[] 变量名 = 指定的长度空数组。
int[] array3 = new int[8];//最常用的形式,不关心值,只关心处理逻辑
元素的值是默认值(微软MSDN默认值)
数值类型是对应0
如果字符串是" "
2、使用数组
访问成员,通过下标 变量名[下标号]访问对应下标的成员
array1[2] = 100;
Console.WriteLine(array1[2]);
如果我使用的下标是负数,或者超出了元素个数,指定了数组中一个不存在的元素
会出现 越界异常
下标的有效范围是(0 - 数组名.Length-1)
Console.WriteLine(array1.Length);
Console.WriteLine(array1.[array1.Length - 1 ]);
通过数组名.Length我们能知道这个数组中有多少个元素
3、遍历数组
遍历就是从一个 数据结构 第一个元素 到 最后一个元素
遍历就是把 数据结构中 所有元素访问完
Length:取数组元素的总个数
GetLength:取不同维度的个数
复制代码
m1w2d3_struct_array
复制代码
结构体
用途:一般情况下我们使用结构体来描述复杂事物,如桌子,如位置
这个复杂事物不能包含自己,会发生递归调用
结构体用于:属性不多,频繁计算的复杂事物
结构体储存在栈里,运行速度快,但栈里的空间宝贵,所以用来描述的事物不宜过多(<=5)(也可以不放在栈里,运算不用跳地址)
一般用于定义常用的数学概念及其需要计算的结果
定义结构体的类型
struct 自定义类型名{成员;成员;}
成员之间用分号隔开
成员是其它数据类型
成员需要外部访问要用public
定义结构体的变量
数据类型 变量名 = 初始值;
Student xiaoMing = new Student();//一次性给结构体里所有变量附初值
数组 冒泡排序
//1、先写内循环,循环次数为:数组长度-1-外循环当前次数
//2、内循环每次对比当前位置与下一位置,如果逻辑(当前位大于对比位)达成 则交换位置
//3、外循环,循环次数为 数组长度-1
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
二维数组也是解决重复数据的重复逻辑,不同的是他允许我们通过两(多)个下标
为什么用多个下标,人们在生活,经常需要处理二维的数据,地图,表单(纯三维数据特别的少)
本质上,内存中一维和二维数组是一样的
使用二维数组
定义二维数组
不指定元素
数据类型[,] 变量名;
指定元素
数据类型[,] 变量名 = new 数据类型[标号为0维度的元素个数,标号为1维度的元素个数]
数据类型[,] 变量名 = new 数据类型[行数,列数]
数据类型[,] 变量名 = new 数据类型[x,y]
交错数组与多维数组的区别
交错数组理论上才是数组的数组
1、多维数组必须是每一个维度的元素个数相等,多维数组只能表示矩形数据块
交错数组可以表示锯齿数据块
2、多维数组必须是指定每一个维度的元素个数
交错数组只能指定最外层的数组个数
3、多维本质上是一块连续内存空间,为什么是多维表示,为了人们方便去理解,多维和一维只是索引器不一样
交错数组理论上才是数组的数组
定义一个交错数组
数据类型[][]变量名;
数据类型[][]变量名 = new 数据类型[4][]{new int[10],new int[5],new int[10],new int[5],}
数据类型[][]变量名 = new 数据类型[4][];
m1w2d6_debug
string.IsNullOrEmpty(s);//判断字符串是否为空
String.Split
1、用字符串分隔:
string str1 = "aaajsbbbjsccc";
string[] sArray1 = Regex.Split(str1, "js", RegexOptions.IgnoreCase);
foreach (string i in sArray1) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
2、用单个字符来分隔:
string str3 = "aaajbbbjccc";
string[] sArray3 = str3.Split('j');
foreach (string i in sArray3) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
3、用多个字符来分隔:
string str2 = "aaajbbbscccjdddseee";
string[] sArray2 = str2.Split(new char[2] { 'j', 's' });
foreach (string i in sArray2) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
SubString 方法:
string str = "abcdefgh";
Response.Write(str.Substring(0, 1));//return:a
Response.Write(str.Substring(2, 3));//return:cde
Response.Write(str.Substring(7, 1));//return:h
Response.Write(str.Substring(7));//return:h
Response.Write(str.Substring(10));//error:startIndex 不能大于字符串长度。
Response.Write(str.Substring(7, 10));//error:索引和长度必须引用该字符串内的位置。
m1w2d6_function_flyingchess
函数是对逻辑(语句序列)的封装,方便以后重复使用
函数的签名{函数体}
指令逻辑(什么指令) 对谁(参数) 做什么(函数体) 结果如何(返回类型)
参数 可以是任意类型
函数体 可以是任意语句
返回类型 可以是任意类型 void(无返回类型)
如果指定了返回类型 必须有相应的返回值
使用return可以返回一个值,并结束函数
如果你使用了void,也可以使用return,这时,他不再返回值,但结束函数
返回类型 函数名 (参数列表)
{
函数体
}
m1w3d1_function_parm_overload_oop
ref关键字
在定义方法时 使用 参数修饰 ref 我们可以传递一个地址
1,定义方法参数使用ref关键字,调用时同时也可使用
2,调用时,实际参数必须有被赋值
函数的重载
函数允许我们重名,重名函数在重载的情况下是允许的
参数列表不一样时构成重载
重载函数有助我们统一理解
1、参数个数不一样
2、类型和顺序不一样
递归的调用
函数递归 指 函数自身 调用自身的 一种算法
在算法没有写错的情况 所以他有可能会造成 堆栈溢出异常
一般用递归解决子问题就是父问题的问题
边界 在递归过程中,我们必须得有一种已知情况
边界参数要交给自己
边界参数要无尽的趋向边界
值类型与引用类型的存储方式:
引用类型:引用类型存储在堆中。类型实例化的时候,会在堆中开辟一部分空间存储类的实
例。类对象的引用还是存储在栈中。
值类型:值类型总是分配在它声明的地方,做为局部变量时,存储在栈上�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
C#相关习题集完整版及含答案代码 (510个子文件)
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
随机数.csprojResolveAssemblyReference.cache 2KB
二维数组.csprojResolveAssemblyReference.cache 2KB
OOP_Part1.csprojResolveAssemblyReference.cache 2KB
Inherit.csprojResolveAssemblyReference.cache 2KB
IF.csprojResolveAssemblyReference.cache 2KB
DemoNo1.csprojResolveAssemblyReference.cache 2KB
Test.csprojResolveAssemblyReference.cache 2KB
复杂数据类型.csprojResolveAssemblyReference.cache 2KB
Switch.csprojResolveAssemblyReference.cache 2KB
循环.csprojResolveAssemblyReference.cache 2KB
OOP_Part1_Test.csprojResolveAssemblyReference.cache 2KB
函数.csprojResolveAssemblyReference.cache 2KB
Random.exe.config 189B
OOP_Part1.exe.config 189B
App.config 189B
App.config 189B
泛型列表.vshost.exe.config 189B
_list2.vshost.exe.config 189B
二维数组.exe.config 189B
二维数组.vshost.exe.config 189B
OOP_Part1.vshost.exe.config 189B
泛型列表.exe.config 189B
Random.vshost.exe.config 189B
App.config 189B
_list2.exe.config 189B
App.config 189B
Inherit.exe.config 189B
App.config 189B
Inherit.vshost.exe.config 189B
App.config 189B
_list.vshost.exe.config 189B
App.config 189B
_list.exe.config 189B
DemoNo1.vshost.exe.config 189B
DemoNo1.exe.config 189B
Test.vshost.exe.config 189B
_operator.vshost.exe.config 189B
Test.exe.config 189B
App.config 189B
App.config 189B
_operator.exe.config 189B
委托补充.exe.config 189B
委托补充.vshost.exe.config 189B
App.config 189B
_delegate.vshost.exe.config 189B
App.config 189B
_abstract.exe.config 189B
App.config 189B
_delegate.exe.config 189B
App.config 189B
App.config 189B
_abstract.vshost.exe.config 189B
复杂数据类型.exe.config 189B
复杂数据类型.vshost.exe.config 189B
泛型.vshost.exe.config 189B
泛型.exe.config 189B
_delegate4.exe.config 189B
App.config 189B
@virtual.vshost.exe.config 189B
Switch.exe.config 189B
@virtual.exe.config 189B
CSharp月考.vshost.exe.config 189B
App.config 189B
OOP_Part1_Review.vshost.exe.config 189B
App.config 189B
App.config 189B
CSharp月考.exe.config 189B
Switch.vshost.exe.config 189B
App.config 189B
App.config 189B
_delegate4.vshost.exe.config 189B
共 510 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
LilyCoder
- 粉丝: 1138
- 资源: 285
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2023-04-06-项目笔记 - 第三百零八阶段 - 4.4.2.306全局变量的作用域-306 -2025.11.05
- Carla 0.9.15编译的zlib-1.2.13.zip
- Carla 0.9.15编译的xerces-c-3.23-src
- 【完整源码+数据库】基于Spring SchedulingConfigurer 实现动态定时任务
- Java Web应用集成支付宝支付功能【附完整源码及数据库设计】
- mysql驱动文件mysql
- python网络编程入门基础
- 基于SpringBoot 整合 AOP完整源码示例
- python基础,python进程和线程
- Java Web 实验项目 初步实现maven和idea的整合
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功