C#基础整理(二)
1、变量类型
int、double、string、char、bool、decimal
变量使用规则:先声明,再赋值,最后使用
2、命名规范:
Camel:第一个单词首字母小写,其他单词首字母大写,其余字母小写
Pascal:每个单词的首字母都大写,其余字母小写
5、常量
声明常量的语法:
const 变量类型 变量名=值;
例:public const int Che_SHI = 10001;
常量一旦赋值,不能被重新赋值
6、枚举(规范我们的开发)
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
...........
}
[]中表示可以省略
Public:访问修饰符,公开的公共的,修饰一个成员的访问权限。
enum:关键字,声明枚举的关键字
枚举名:要符合pascal命名规范
将枚举声明到命名空间的下面,类的外 面,表示这个命名空间下,所有的类都可以使用这个枚举。
枚举就是一个变量类型,像int、string这样
只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。
枚举是自己写的变量类型
我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。
枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
调用Enum类里的Parse()方法来帮助我们将一个字符串转换成对应的枚举类型
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。
7、结构
为了一次性声明多个不同类型的变量(字段)
语法:
[public] struct 结构名
{
public string name;
成员//字段
}
程序中字段能存多个值,变量只能存一个值。
字段起名规范,每个字段前面加一个下划线,来区分变量和字段。
8、数组
一次性存储多个相同类型的变量就用数组。
语法:
数组类型[] 数组名=new 数组类型[数组长度];
int []nums=new int [5];
数组的长度一旦固定了,就不能再被改变了
数组拥有初值
int数组初值 0
string数组初值 null(不占空间)
bool数组初值 false
四种写法
int[] nums = new int[5];
int[] nums = { 1, 2, 3, 4, 5 };(常用)
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
int[] nums = new int[] { 1, 2, 3, 4, 5, };
int范围 最大值 int.MaxValue
最小值 int.MinValue
可以通过下标或者索引去访问数组中的元素
9、冒泡排序
将一个数组中的元素按照从大到小或者从小到达的顺序进行排列。
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
Array.Sort(nums); //对数组进行升序排列
Array.Reverse(nums); //对数组进行倒序排列
不需要返回值,需要一个数组作为参数
10、方法/函数
函数就是将一堆代码进行重用的一种机制。
函数的语法:
[public]static 返回值类型 方法名([参数列表])
{
方法体:
}
public static int AddSum(int a,int b)
{
return a+b;
}
返回值类型:如果不需要写返回值,写void。有返回值的用return返回
参数列表:完成这个方法所必须要提供给这个方法的参数。有些方法不需要写参数。
11、return的用法
1)在方法中返回要返回的值。
2)立即结束本次方法。
3)一层一层的门,return只返回上一层。
12、我们在Main()函数中,调用Test()函数。
我们管Main()函数称之为调用者,管Test()函数称之为被调用者。
如果Test()想要得到Main()的值:
1)传递参数。
2)使用静态字段来模拟全局变量。
如果Main()想要得到Test()的值:
1)返回值
13、不管是实参还是形参,都是在内存中开辟了空间的。
14、方法的功能一定要单一。
方法中不要出现提示用户输入。
15.out、ref、params
1)、out参数。
如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。
但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,
我们可以考虑使用out参数。
out参数在一个方法中可以返回多个不同类型的值。
out参数要求在方法的内部必须为其赋值
2)、ref参数
能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。
ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
ref不需要创建一个新的变量来接收返回值。
ref是 有进有出,而out是 只出不进。
3)、params可变参数
将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。
params可变参数必须是形参列表中的最后一个元素。
public static void Test(string name,params int [] score)
16.方法的重载
概念:方法的重载指的就是方法的名称相同,但是参数不同。
参数不同,分为两种情况
1)、如果参数的个数相同,那么参数的类型就不能相同。
2)、如果参数的类型相同,那么参数的个数就不能相同。
***方法的重载跟返回值没有关系。
用哪个就传哪个参
方法的重载就是可以放任何的参数
17、字符串的用法
字符串的length可以用来比较字的长度
18.方法中改变数组,不需要返回值来接收就可以改变。数组在方法中是个例外。
19.Cosole的几种方法
1)改变字体颜色
Console.ForegroundColor = ConsoleColor.Yellow;
2)console.clear(); 清屏
3)console.readkey(true);不显示输出的按键
4)输出时,保留小数点后两位
Double avg=10/3;
Console.WriteLine("{0:0.00}", avg);
C#基础整理(二)的更多相关文章
- 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法
这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...
- nutch的一些基础整理
nutch的一些基础整理 原创 2015年03月22日 18:18:01 标签: nutch / 240 编辑 删除 一.关于配置文件: nutch-default.xml:爬虫的默认配置.在${nu ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- Bootstrap <基础十二>下拉菜单(Dropdowns)
Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...
- RequireJS基础(二)
上一篇是把整个jQuery库作为一个模块.这篇来写一个自己的模块:选择器. 为演示方便这里仅实现常用的三种选择器id,className,attribute. RequireJS使用define来定义 ...
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- 好好写,好好干-PHP基础(二)
hi 好久没写,昨儿一写,感觉还是有人看的,至少是有一两个评论的~~好好干! 每天需要坚持的就那么4件事儿:写这个,学一点法语,看会儿书,锻炼.单身狗也有好处. 1.PHP 一.PHP基础(二) 1. ...
- php基础篇-二维数组排序 array_multisort
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...
随机推荐
- 谈谈django里的Contex和RequestContext---向模板里添加全局变量
一直很想仔细研究一下,我在django模板里,可以直接访问变量user, request之类的变量,哪里来的,到底都有哪些?这会儿周五,我有空来仔细看看代码. 模拟一下需求: 我们做一个在线商城,需要 ...
- POSIX是什么?
1.什么是POSIX? POSIX是可移植操作系统接口(Portable Operating System Interface for UNIX)的缩写,是IEEE为了在各种UNIX操作系统上运行软件 ...
- VC++ :传统剪贴板的延迟提交技术
传统剪贴板存在的局限 传统剪贴板有一个局限性:剪贴板上的所有数据都要保存在内存上. 对于文本字符串和其它简单数据类型,可以快速有效地传递.但是,对于比较大的数据,清空剪贴板之前,数据都要占用较大的内存 ...
- Java 应用程序设计规范
1.能在程序中取的产生就从程序中取.不用客户输入(减少客户输入). 比如客户号 信息 等. 2.如果有参数输入尽可能减少参数输入的个数(4个->0个): 3.验证入参(尽可能的实现输入参数的正确 ...
- Tomcat之JSP运行原理之小试牛刀
最近空闲看了下JSP/Servlet,以前只知道用JSP,但是对其运行原理知之甚少,今在此做些笔记,以备查阅. 首先简要描述下其运行过程,然后结合Tomcat源码作简要分析. JSP运行过程: 第一步 ...
- GIS-ArcGIS 数据库备份还原
Create directory sdebak as 'E:\10_DataFile'; alter system set deferred_segment_creation=false; ALTER ...
- ftp简单命令
1.连接ftp ftp 192.168.10.15 进去后输入用户名 ,然后再输入密码,就这样登陆成功了,你会看到 ftp> 2.进入ftp后,你对目录需要切换操作.和linux一样的命令.cd ...
- 《C++ Primer Plus》第7章 函数——C++的编程模块 学习笔记
函数是C++的编程模块.要使用函数,必须提供定义和原型,并调用该函数.函数定义是实现函数功能的代码:函数原型描述了函数的接口:传递给函数的值的书目和种类以及函数的返回类型.函数调用使得程序将参数传递给 ...
- 【go】go语言socket通信样例
server.go package main import ( "net" "fmt" "io" ) func main() { liste ...
- 多图上传-webupload 使用详解
WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件. 在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏 ...