输入输出--数据类型--变量与常量--运算符表达式--语句(顺序、分支、循环)--数组--函数--结构体
一、输入与输出。
Console.ReadLine();
Console.WriteLine();
Console.Write();

二、数据类型:
(一)分类:
1.值类型:
基本类型:int(short long),double(float decimal),bool,char
复杂类型:
DateTime Now,ToString("yyyyMMdd...."),AddXXXX(),DayOfWeek,DayOfYear
struct
enum
2.对象类型(引用类型):
string——字符串的操作:Length,Trim()TrimStart(),TrimEnd(),ToLower()ToUpper(),IndexOf(),LasIndexOf(),ReplaceWith(),Substring(),Contains(),StartWith(),EndWith()
数组.
Random
(二)类型转换:
1.自动转换(隐式转换)
只要不可能丢数据,就会自动转换。

2.强制转换(显示转换)
只要可能会出现丢数据,就需要强制转。
语法:a.使用();b.使用Convert.
如果要把数值模样的字符串变成整数,必须使用Convert

三、变量与常量
(一)变量——U盘
1.定义:
数据类型 变量名[=值[,变量名=值]];
变量名的命名规则:a.组成。b.首字符。c.关键词
2.赋值:变量名=值;
3.取值:直接使用变量名。

注意变量的作用域:变量只在它所在的花括号里面起作用,出了花括号就访问不到了。
1.在同一个花括号内,不能出两个重名的变量定义。
2.如果多重花括号,外层和里层都出现同一个变量的定义,则使用的时候遵循“就近原则”。

(二)常量——光盘
在程序只能定义的时候赋值,在运算的时候无法修改值(不能放在等号的左边)
1.定义:
const 数据类型 常量名 = 值; //一般来说常量名统统大写。
2.取值:直接使用常量名。
3.分类:符号常量和字面常量。
int a = 10; //10就是字面常量
const int PI = 3.14; //PI-符号常量;3.14字面常量

四、运算符:
(一)算术 7 ——自动转换
+ - * / % 取余一般用在两种情况下:1.看看能不能整除。2.把值控制在某个范围之内。
++ -- 前,后。前——先自增(减),再做其它运算;后——先其它运算,最后自增(减)
(二)关系 6 ——返回bool
== !=
> < >= <=
(三)逻辑 3
&& || !
(四)其它 
= 赋值:把右边关到左边去。因此:=左边只能是变量,不能是常量或表达式。
?:条件运算符:表达式1?表达二:表达式三 if...else...
复合运算符:+= ,-= *= /= %=

运算符优先级:

++ --
算术>关系>逻辑>赋值

使用()来改变运算的优先级。

五、语句:顺序、分支、循环
(一)分支:
1.if
(1)if(条件){}
(2)if(条件){} else {}
(3)if(条件){} else if(条件){}...else{}
(4)if(条件){if(条件){}..else{}} else{if(条件){}...else{}}
案例:
a.18岁抓当兵。
b.相亲
c.体重
d.平年闰年 ——判断一个日期是否正确。
e.一元二次方程根的情况。

2.switch
switch(表达式)
{
case 常量:
...
break;
case 常量:
...
break;
default
break;
}

(二)循环:
1.基本语法:
(1).for
for(初始条件;循环条件;状态改变)
{
循环体
}
循环的四要素:。。。。。。

(2).while
初始条件
while(循环条件)
{
循环体
状态改变
}
2.循环嵌套:
for(;;)
{
for(;;)
{
}
}

3.应用:
a.打印星号。好多图形。
b.穷举。把各种可能的情况都走一遍,筛选出符合条件的。
●100以内所有与7有关的数。
●买牙刷,洗发水,香皂
●百鸡百钱,百马百石
●兑硬币
●填+-号使等式成立的。
●侦察兵

c.迭代。找到规律,使用变量不断累计的功能实现运算。不断求中间结果,直到得出最终的结果。
●100以内所有数的和
●猴子吃桃
●小朋友算年龄
●折纸-珠峰
●棋盘分米
●富翁与程序员
●兔子

六、数组与集合
(一)数组:同一类型,连续存储
1.一维:——豆角
定义: 数据类型[] 数组名 = new 数据类型[长度]{初始值列表};
赋值:数组名[下标] = 值;
取值:数组名[下标]
与for语句配合用:——使用循环来控制下标。 
数组常用的属性:Length。要搞清下标与长度的关系。

应用:
●球员打分。
●彩票
●排序
●二分法查找。

2.二维:——表格
定义:数据类型[,] 数组名 = new 数据类型[行数,列数]{初始值列表};
赋值:数组名[行下标,列下标] = 值。
取值:数组名[行下标,列下标]
与循环配合用:
for(;;) //循环行
{
for(;;)//循环列
{
}
}

应用:
●推箱子。

3.锯齿:——数组中的数组
定义:
1.定义数组中的数组:数据类型[][] 数组名 = new 数据类型[行数][];
2.定义一维数组:
3.把一维数组赋给数组的数组。

(二)集合:不用连续
1.链表
弱类型:ArrayList list = new ArrayList(); //using System.Collection;
强类型:List<类型> list = new List<类型>(); //using System.Collection.Generic;
2.哈希表
弱类型:Hashtable table = new Hashtable();
强类型:Dictionary<key类型,value类型> table = new Dictionary<key类型,value类型>();

栈,队

七、函数:
什么是函数?能够完成一定功能的独立模块。
函数的四要素:函数名,形参(输入),返回类型(输出),函数体(加工运算)。
(一)定义:
[static] 返回类型 函数名([变量类型 变量名[,变量类型 变量名[...变量类型 变量名]]])
{
函数体
}

(二)调用:
[数据类型 变量名 = ]函数名([实参1[,实参2...]])

说明:
1.函数名与变量名规则一样。
2.实参与形参一定要一一对应。
3.return所返回值一定要与"返回类型"一致。
4.函数定义没有一定的原则,只要好用就可以。

(三)递归——仅作了解

八、结构与枚举:
(一)结构体——自己定义的复杂的类型。
什么是结构体?为什么需要用到结构体?
定义:
struct 结构体名
{
public 数据类型 成员变量名;
public 数据类型 成员变量名;
public 数据类型 成员变量名;
...
}
使用:

结构体名 变量 = new 结构体名();
变量.成员变量 = 值
变量.成员变量

说明:结构体的成员,还可以用其它结构体来定义。

(二)枚举:使用枚举来替代一些难以记忆的整数。
枚举和整数之间可以相互强制转换。
定义:
enum 枚举名
{
成员名[=整数],
成员名[=整数],
成员名[=整数],
....
成员名[=整数]
}

使用:
枚举名.成员名

C#整理的更多相关文章

  1. dotNET跨平台相关文档整理

    一直在从事C#开发的相关技术工作,从C# 1.0一路用到现在的C# 6.0, 通常情况下被局限于Windows平台,Mono项目把我们C#程序带到了Windows之外的平台,在工作之余花了很多时间在M ...

  2. UWP学习目录整理

    UWP学习目录整理 0x00 可以忽略的废话 10月6号靠着半听半猜和文字直播的补充看完了微软的秋季新品发布会,信仰充值成功,对UWP的开发十分感兴趣,打算后面找时间学习一下.谁想到学习的欲望越来越强 ...

  3. SQL Server 常用内置函数(built-in)持续整理

    本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...

  4. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

  5. JAVA程序员常用软件整理下载

    ********为了大家学习方便,特意整理软件下载如下:*************Java类软件:-------------------------------JDK7.0:http://pan.ba ...

  6. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  7. GJM : C#设计模式汇总整理——导航 【原创】

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  8. 整理下.net分布式系统架构的思路

    最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...

  9. 安卓GreenDao框架一些进阶用法整理

    大致分为以下几个方面: 一些查询指令整理 使用SQL语句进行特殊查询 检测表字段是否存在 数据库升级 数据库表字段赋初始值 一.查询指令整理 1.链式执行的指令 return mDaoSession. ...

  10. (资源整理)带你入门Spark

    一.Spark简介: 以下是百度百科对Spark的介绍: Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方 ...

随机推荐

  1. poj3070 Fibonacci 矩阵快速幂

    学了线代之后 终于明白了矩阵的乘法.. 于是 第一道矩阵快速幂.. 实在是太水了... 这差不多是个模板了 #include <cstdlib> #include <cstring& ...

  2. db2常用命令(详解)大全

    近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持      xml存储.检索机制,通过XPath进行解析操作,使开发人员免于 ...

  3. eclipse的SVN插件的配置

    http://www.cnblogs.com/kekec/archive/2010/08/09/1795581.html

  4. PHP - 接口&抽象类

    什么时候使用抽象类什么时候使用接口? .如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类.如果要创建将由一些不相关对象采用的功能,就使用接口. .如果必须从多个来源继承行为,就 ...

  5. 3890: [Usaco2015 Jan]Meeting Time( dp )

    简单的拓扑图dp.. A(i, j), B(i, j) 表示从点 i 长度为 j 的两种路径是否存在. 用bitset就行了 时间复杂度O(m) --------------------------- ...

  6. Android-x86 4.4-r5 发布,PC 上的安卓系统

    Android x86 即运行于 x86 PC上的Android操作系统,目前已经支持大部分安卓程序. Android X86平台是由Beyounn和Cwhuang主持设计的.项目的主要目的在于为X8 ...

  7. ssh安装过程

    1.在线安装[root@Asianux ~]# sudo apt-get install ssh   2.进行加密设置[root@Asianux ~]# ssh-keygen -t rsa3.启动SS ...

  8. Oracle多表的简单查询

    Oracle多表的简单查询 .多表查询 多表查询是指基于两个和两个以上的表或是视图的查询. 问题:显示雇员名,雇员工资及所在部门的名字[笛卡尔集]? select t.ename,t.sal,t1.d ...

  9. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  10. C++辛格尔顿

    设计模式是编程的焦点.经常在面试时进行审查,Singleton模式是最简单的.最常见的.大部分的主模式.所以大部分的采访是测试考试的Singleton设计模式. 以下我们就来看看单例模式怎样实现(C+ ...