c# 编程--基础部分补全篇
C#基础
分支: switch
switch(表达式)
{
case 具体值1:
语句;
....;
break;
case 具体值2:
语句;
....;
break;
.....
default:
语句;
....;
break;
}
案例:
string s = Console.ReadLine();
switch (s)
{
case "1":
Console.WriteLine("你选择的是库存管理模块");
break;
case "2":
Console.WriteLine("你选择的是入库管理模块");
break;
case "3":
Console.WriteLine("你选择的是出库管理模块");
break;
case "4":
Console.WriteLine("你选择的是加工管理模块");
break;
case "5":
Console.WriteLine("你选择的是退出系统");
break;
default:
Console.WriteLine("输入的指令不可设别,请重新输入");
break;
}
循环: while
初始条件
while(循环条件)
{
循环体;
状态的改变;
}
案例:
int i=0;
while(i<10)
{
Console.WriteLine("您好@");
i++;
}
它是从下面演变过来的:
//int i = 0;
//for (; i < 10; )
//{
// Console.WriteLine("您好!");
// i++;
//}
foreach 一般用来循环遍历数组(或集合)的。
用来从头到尾遍历,不涉及到下标或计数;而且循环过程中,不能修改数组或集合中的值。
foreach(变量类型 变量 in 数组或集合)
{
Console.WriteLine(变量);
}
数组:锯齿数组 数组的数组
1、定义
1.定义数组的数组:
int[][] a = new int[3][];
2.定义一维数组:
int[] a1 = new int[5] { 10, 20, 30, 40, 50 };
int[] a2 = new int[2] { 60, 70 };
int[] a3 = new int[3] { 80, 90, 100 };
3.把一维数组放到数组的数组中。
a[0] = a1;
a[1] = a2;
a[2] = a3;
2、操作某个元素:
a[行][列]
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a[i].Length; j++)
{
Console.Write(a[i][j] + "\t");
}
Console.WriteLine();
}
集合:
数组与集合的区别:
数组:同一类型,连续存储。优点:存储效率高,检索速度快。 缺点:连续的,不能扩展,不能删除,不能插入
集合:同一类型,不连续存储。
集合的操作:——ArrayList是集合中的一种
一、链表--每个存储值都会分配一个索引号,通过索引号可对每个元素赋值或者取值
弱类型的集合:
ArrayList list = new ArrayList();
添加操作:list.Add(值);
插入操作:list.Insert(下标,值)
删除操作:list.RemoveAt(下标)
清空集合:list.Clear()
获得集合中元素个数:int n = list.Count;
获取某个值:object n = list[下标];
强类型的集合:
List<类型> 集合名 = new List<类型>();
添加操作:list.Add(值);
插入操作:list.Insert(下标,值)
删除操作:list.RemoveAt(下标)
清空集合:list.Clear()
获得集合中元素个数:int型名 n = list.Count;
二、哈希表:--每个元素都由两部分组成,一部分叫key,一部分叫value
弱类型
Hashtable list = new Hashtable();
添加操作:list.Add("名","值");
删除操作:list.Remove("名");
清空集合:list.Clear()
获得集合中元素个数:int n = list.Count;
获取值: object n = list["名"];
强类型:
Dictionary<string, string> table = new Dictionary<string, string>();
添加操作:table.Add("名","值");
删除操作:table.Remove("名");
清空集合:table.Clear()
获得集合中元素个数:int n = table.Count;
获取值: object n = table["名"];
三。队列:特点:先进先出
Queue<string> s = new Queue<string>();
进队:s.Enqueue("我"); //进队
出队:sting str = s.Dequeue();
不能插队,不能中间离队。
四、栈:特点:先进后出。
Stack<string> s = new Stack<string>();//栈
进栈:s.Push("我");
出栈:string str = s.Pop();
不能中间插入,不能中间离开。
五、递归——自己调自己 —— 将来可能会用到,但是现在仅做了解。
int Add(int a)
{
int b = Add(a+1);
Console.WriteLine(b);
}
void 讲故事()
{
Console.Write("从前。。。,老和尚说:");
讲故事();
}
void 找子级文件夹(当前文件夹)
{
if(当前文件夹下没有子文件夹)
{
return;
}
找子级文件夹(当前文件夹下的第一个子文件夹);
}
//猴子吃桃子。
static int TaoZi(int day) //接收天数,返回这一天的桃子数
{
if (day == 7)
{
return 1;
}
int c = (TaoZi(day+1) + 1) * 2;
return c;
}
//程序员与富翁:
static double Money(int day)
{
if (day == 1)
{
return 0.01;
}
double a = Money(day-1) * 2;
return a;
}
六、枚举:——结构体。枚举也是我们自己定义的类型。
可以使用它替代一些难以记忆的整数
枚举和整数之间可以互相转换
语法:
[public] enum 枚举名
{
值1;
值2;
值3;
......
}
[public]:访问修饰符。公开的公共的,哪都可以访问。
enum :关键字,声明枚举的关键字
枚举名:要符合Pascal命名规范
使用:枚举名.成员名(值名)
将枚举声明到命名空间的下面,类的外边,表示这个命名空间下,所有的类都可以使用这个枚举。
枚举就是一个变量类型,例如 int double string decimal
只是枚举命名、赋值、使用的方式跟那些普通的变量类型不一样。
c# 编程--基础部分补全篇的更多相关文章
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [.net 面向对象编程基础] (14) 重构
[.net 面向对象编程基础] (14) 重构 通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然 ...
- Java入门——(1)Java编程基础
Java入门--(1)Java编程基础 第二章 Java编程基础 JAVA 代码的基本格式: 修饰符 class 类名{ 程序代码 } 2.1关键字:赋予了特殊含义的单词. 2.2标识符: ...
- Java笔记(一)编程基础与二进制
编程基础与二进制 一.编程基础 函数调用的基本原理: 函数调用中的问题: 1)参数如何传递? 2)函数如何知道返回什么地方? 3)函数结果如何传递给调用方? 解决思路是使用内存来函数调用过程中需要的数 ...
- 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础
第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...
- shell编程基础进阶
为什么学习shell编程 shell脚本语言是实现linux/unix 系统管理机自动化运维所必备的重要工具,linux/unix系统的底层及基础应用软件的核心大部分涉及shell脚本的内容.每一个合 ...
- java编程基础二进制
0.java编程基础 01.二进制(原码,反码,补码) 02.位运算 03.移位运算符 二进制 原码,反码,补码 1.基本概念 二进制是逢2进位的进位制,0,1是基本算符. 现在的电子计算机技术全部使 ...
- Java编程基础——运算符和进制
Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...
- 第二章 Matlab面向对象编程基础
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...
随机推荐
- 微信小程序(8)--头部导航滑动
项目需求:实现头部导航,可左右滑动. <view class="top-news"> <view class="self-box"> & ...
- Java疯狂讲义笔记——Lambda表达式
Java8新增的Lambda表达式 [特性]支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数式接口)的实例. [组成部分]1,形参列表 ...
- 《x的奇幻之旅》:有趣的数学科普
本书是相对比较少见的数学方面的科普书.从最简单的阿拉伯数字.加减法,一直到概率统计.微积分.群论.拓扑.微分几何,每个主题都用几千字做一些深入浅出的介绍.写的相当的有趣. 在书中又一次看到这个有趣的事 ...
- JSON 简单例子
代码: json [ { "title" : "a", "num" : 1 }, { "title" : "b ...
- ubuntu 开启ftp服务
一. 检查是否已安装 vsftpd vsftpd -v 二. 安装 vsftpd apt-get install vsftpd 三. 检查是否已安装好 vsftpd vsftpd -v system ...
- CF 49E Common ancestor
传送门 模拟赛T1就自闭了( 才不会说我是去刚T2了来着 感觉非常暴力的一个题? 出题人良心开大数据范围 n=100 还是原来的n^4*26算法我也是自闭了 不过貌似跑不到n^4? 真·大力出奇迹 一 ...
- Oracle 部门员工查询
--部门:部门编号,部门名称,地址: --员工:员工编号,员工名字,职务,管理编号,入职日期,薪资,奖金,部门编号: CREATE TABLE dept( deptno INT PRIMARY KEY ...
- angular项目引用第三方公共js文件
由于项目需要,领导要求在正在开发的angular项目中,引入公共js,以便进行统计计算. 于是便各种找度娘,网上有好多引用jquery插件的例子,于是便按照步骤对自身项目进行了改造,先记录一下: st ...
- PHP连接FTP服务的简单实现
PHP连接FTP服务: <?php class Ftp { private $connect; private $getback; /** * ftp连接信息 * @var array */ p ...
- spring-cloud config配置中心
这里那些概念不说,主要是记录下spring cloud config配置中心的服务端和客户端的一个demo. 服务端即提供统一配置文件 客户端即从服务端读取配置 1.新建一个spring boot项目 ...