1:不管是实参还是形参,都在内存中开辟空间。
2:写一个方法,它的功能一定要单一,方法中最忌讳的就是出现提示用户输入的字眼。
3:out参数
如果在一个方法中,返回多个类型相同的值时,可以考虑返回一个数组。
但是,如果返回多个不同类型的值的时候,返回数组就不行了,我们可以考虑使用out参数。
out参数就侧重于在一个方法中返回多个不同类型的值。
4:ref参数(类似于C语言中的指针或者C++中的引用)
能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出去。
5:params参数(唯独params在实参列表中不需要写,但是out和ref关键字必须要写上)
将实参列表中跟可变参数数组类型一致的元素都当作数组的元素去处理。
params可变参数必须是参数列表中的最后一个元素。
6:方法的重载
方法的重载指方法名相同,但是参数不同,跟方法的返回值没有关系。参数不同可能是个数不同,也可能是类型不同。
保留几位小数(两位小数):
7: string s=num.ToString("0.00");
num=Convert.ToDouble(s);
这样就把num保留两位小数了。
当然也可以用占位符的形式,也能达到效果!!!
8:
属性的本质是两个方法,一个叫get(),一个叫set().
在进行设值限定的时候,参数用的是vlaue,在进行取值限定的时候参数用的是字段。
属性有可读可写属性,只读属性,只写属性。
Fields字段
Methods方法
Property属性 //Properties
9:
this关键字
1)、代表当前类的对象
2)、在类当中显示的调用本类的构造函数 :this
10:命名空间
可以认为类是属于命名空间的。
如果在当前这个项目中没有这个类的命名空间,需要我们手动的导入这个类所在的命名空间。
1、用鼠标去点;
2、alt+Shift+F10;
3、记住命名空间,手动的去引用;
11:在一个项目中引用另一个项目的类
1、 添加引用;
2、引用命名空间;
12:值类型和引用类型的区别
1、值类型和引用类型在内存上存储的地方不一样;
2、在传递值类型和引用类型的时候,传递方式不一样;(值传递、引用传递)
13:学过的值类型和引用类型
值类型:int double char decimal enum struct bool
引用类型:string 数组 自定义类
值类型存储在内存的栈中;
引用类型存储在内存的堆中;
14:字符串
1、不可变性
当你给一个字符串重新 赋值后,老值并没有销毁,而是重新开辟一块空间存储新值;
当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则销毁改空间;
2、我们可以将字符串看作是char类型的一个只读数组。
ToCharArray();将字符串转换成char数组;
new string (char [] chs);能够将char数组转换成字符串;
15:字符串的常用方法
1、Length,获取当前字符串中的字符个数 或者说是数组长度;
2、ToUpper(),将字符串转换成大写形式;(返回值string)
3、ToLower(),将字符串转换成小谢形式; (返回值string)
4、Equals(s2, StringComparison.OrdinalIgnoreCase) 比较两个字符串,可以忽略字符串的大小写;(返回值bool)
5、Split(),分割字符串,返回字符串类型的数组;(返回值string[])
6、SubString(),截取字符串,在截取的时候包含要截取的那个位置; (有两种不同的参数--int --int-length)(返回值string)
7、IndexOf(),判断哪个字符在某字符串第一次出现的位置,如果没有,返回-1、值类型和引用类型在内存上存储的地方不一样。(返回值int)
8、LastIndexOf(),判断哪个字符在字符串中最后一次出现的位置,如果没有,同样返回-1;(返回值int)
9、StartsWith(),判断以。。。开始;(返回值bool)
10、EndsWith(),判断以。。。结束;(返回值bool)
11、Replace(),将字符串的中的某个字符串替换成新的字符串;(返回值为string)
12、Contains(),判断字符串中是否包含某个字符串;(返回值为bool)
13、Trim(),去掉字符串前后的空格;(返回值String)
14、TrimEnd(),去掉字符串中尾部的空格;(返回值string)
15、TrimStart(),去掉字符串中首部的空格;(返回值string)
16、string.IsNullOrEmpty(),判断一个字符串是否为Null或空;(返回值bool)
17、string.Join(),将数组按照指定的字符串连接,返回一个字符串。(返回值string)
18:继承
1)、子类继承了父类的属性和方法,但是没有继承父类的私有字段和构造函数,虽然没有继承父类的构造函数,但是子类会默认调用父类的无参构造函数,然后创建父类对象,方便子类对象调用父类的方法。(这都是有前提的)
2)、在子类中调用父类的构造函数记得使用base()关键字。
3)、new关键字的作用:
创建对象;
隐藏父类那里继承过来的同名成员,隐藏的后果就是子类调用不到父类的同名成员。
19:ArrayList list=new ArrayList();
添加单个元素用list.Add();
添加集合的话用list.AddRange();
删除元素:
list.Clear();//删除所有元素
list.Remove(object obj);//删除特定的元素,obj写谁,就删谁
list.RemoveAt(int dex);//按下标删除特定元素
list.RemoveRange(int dex,int long);//从dex这个下标开始删除long长度的元素
list.sort(); //升序排列
list.Reverse(); //反转元素
list.Insert(); //在指定位置插入元素
list.InsertRange(); //在指定位置插入一个集合
list.Contains(); //判断是否包含某个元素
20:
is:表示类型转换,如果能够转换成功,则返回一个true,否则返回一个false。
as:表示类型转换,如果能够转换则返回对应的对象,否则返回一个null。
21:我们将一个对象输出到控制台时,默认情况下输出该类所在的命名空间。
同理,将一个数组输出到控制台时,默认情况下输出该数组类型所在的命名空间。
For Example:
int[] number={1,2,3,4,5,6,7,8};
Console.WriteLine(number); //此时在控制台只会输出System.Int32[]
22:ArrayList集合的长度问题
每次集合中实际包含的元素个数(count)超过了可以包含的元素个数(capacity)时,
集合就会向内存中申请多开辟一倍的空间,来保证集合的长度一直够用!
23:Hashtable:键值对集合
根据键来存储值、并且键是唯一的,不能重复。
Hashtable ht = new Hashtable();
添加元素的方式有两种:
1:ht.Add(Keys,Value); //Keys的值不能出现重复;
2:ht[Keys]=Value; //这个类似于赋值,keys的值相同时,会把之前的旧值覆盖掉。
对Hashtable中的元素进行遍历时,只能用foreach循环,用for循环不能满足要求。
foreach(Var item in collection) //Var:能够根据值来推断出值的类型(但是,之所以一直不用Var类型,是因为在用Var来定义变量的时候必须初始化变量)
{ //C#是一种强类型语言(必须给出变量的明确类型定义)
XXXXX...... //js是一种弱类型语言(不需要给出变量的明确类型定义)
}
在遍历Hashtable集合的时候可以根据键来遍历其中的值,也可以直接根据值来遍历。
foreach(Var item in ht.Keys) //根据键来遍历
foreach(Var item in ht.Value) //直接根据值来遍历
在Hashtable集合中对键和值的类型没有要求,可以是任意类型:
例如:ht.Add("abc","cba")、ht.Add('a',false)、ht.Add(true,3.45).....
Hashtable中的常用方法:
ht.Add(); //添加元素
ht.Remove(Keys); //按键值移除元素
ht.Clear(); //移除所有元素
ht.ContainsKeys(Keys); //判断是否包含某个键值Keys
ht.ContainsVlaue(Value); //判断是否包含某个值Value
- iOS系列 基础篇 03 探究应用生命周期
iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答.本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start( ...
- WebBug靶场基础篇 — 03
基础篇 6 - 16 关... 在记录之前,先说一件事 = =! 小学生真多 = =!好心提供一个靶场,玩玩就算了,他挂黑页 ?现在好了,以后这个靶场不对外啊!你高兴了?爽了吧? 都是新手过来的,好心 ...
- Java基础篇(03):流程控制语句,和算法应用
本文源码:GitHub·点这里 || GitEE·点这里 一.分支语句 流程控制语句对任何一门编程语言都是非常重要的,Java中基于流程控制程序执行的不同步骤和代码块. 1.IF条件 IF条件语句会根 ...
- MySQL基础篇(03):系统和自定义函数总结,触发器使用详解
本文源码:GitHub·点这里 || GitEE·点这里 一.系统封装函数 MySQL 有很多内置的函数,可以快速解决开发中的一些业务需求,大概包括流程控制函数,数值型函数.字符串型函数.日期时间函数 ...
- python 基础篇03
本节主要内容:1. python基本数据类型回顾2. int----数字类型3. bool---布尔类型4. str--- 字符串类型一.python基本数据类型1. int ==> 整数. 主 ...
- Java多线程系列 基础篇03 线程的优先级和守护线程
1. 线程优先级 现代操作系统中基本上使用时间分片的方式调度线程,通过设置线程优先级,使优先级高的线程获得时间片的次数多于优先级低的线程. 在java 线程中,通过一个整形变量prority来控制优先 ...
- scala基础篇-03 if与for
一.Scala中的if是表达式** 1.定义方式 2.例子 二.for 的用法 1.定义方式: for{ x <- xs y=x+ ) }yield y 2.例子:
- mysql学习之基础篇03
我们今天来进行建表的基本操作: 首先要建表就要了解列类型,因为建表就是声明列的过程,列声明完成了,表也就建好了. mysql中列分为三大类: 一.数值型 数值型又分为整型和浮点型两种. 先来看整型: ...
随机推荐
- SafeHandle和Dispose z
SafeHandle最大的意义是封装一个托管资源且本身会执行.NET中的资源释放模式(所谓的Dispose Pattern),这样,开发者在使用非托管资源时,不可以不需要执行繁琐的资源释放模式,而直接 ...
- 【Jenkins】Linux搭建Jenkins平台
为了配合上一篇的ant+jenkins做持续集成,需要在linux环境下搭建一个jenkins平台.网上有很多安装的例子,我主要记录一下自己遇到的问题,真真的是特别惆怅的,每次我遇到的问题都格外多. ...
- <转>MySQL性能优化的最佳20+条经验
http://coolshell.cn/articles/1846.html 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心 ...
- openCV学习笔记
学习新玩意儿的事情,必须要懂人家的规矩,openCV就有自己的规范和数据结构的,要用人家的那些库函数,必须要把传入参数的基础结构搞搞明白,比如RGBA,人家opencv已经说了,用CvScalar,就 ...
- bzoj 2154 Crash的数字表格(莫比乌斯反演及优化)
Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如 ...
- 微软CEO私享会——广东天使会专场圆满落幕
http://www.cnblogs.com/sennly/p/4140976.html 10月17日,微软中国联合广东天使会首期“微软CEO 私享会”在中国微软广东分公司广州太古汇办公室举 ...
- C#中克隆随机数的三种方法(为什么我想到了茴字的四种写法
C#中的Random类可以用来产生伪随机数(正确的废话 伪随机数的一个性质就是给定一个初始种子,那么产生的随机数列都是相同的,这个性质非常适合用在不同环境之间同步逻辑的场景. 最近有一个要克隆当前随机 ...
- HTML-css selector
Css selector 基本有三种 HTML(TAG)selector , ID selector , Class selector css selector 综合使用 : 重用,子选择器,组选择器 ...
- 【hdu3065】病毒侵袭持续中
题意: 求目标串中每个模式串出现几次 目标串长度<=2000000 模式串<=1000个 模式串长度<=50 题解: 这不就是AC自动机的模板题吗! 求fail树中模式串的子树中有几 ...
- 28个MongoDB NoSQL数据库的面试问答
MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...