Array.Sort(Ia);第二章
camelCase,Pasalcase
第三章
01010010x001是地址,和int类型存储在栈中,string存储在堆中,总算知道堆栈了
字符串类型的存储;/*怪不得要清理内存*/
第四章
1、b=a++;——先用后加。b=++a;——先加后用。
2、var1/=var2。
3、mybool=a==b。
4、区别位运算符“&”和和bool运算符“&”
5、a << b
6、mybool is bool;
7、a>b?"a大于b":"a小于b" /*三元运算符*/
第五章 控制流程
if () else。
a=int.parse(); /*int.parse和 convert.int的区别,前者转化string语句*/
while(bool语句) {num++; } /*迭代语句*/
for循环,典型阶乘案例,for(;;)删掉ReadLine,死循环用法 /**很有用*/
for ( a = 1; a <= 9; a++) /*int可以提前定义,也可以()内定义*/
/*for后不能有;号,必须有{}*/
Console.Write("{0}*{1}={2} " /*{ }号很重要,line是换行,去掉不换行,跳出}跳出循环*/
1、swich() case 1: ……break; default /*break终止,defaut全面性*/
2、do {num++;} while(bool语句); /*迭代语句*/
3、foreach for双tab /*str类型是char类型的集合,用处在于表列分离*/
4、goto语句 error 1++在前,right在后,定义char是个错误的选择。
5、return有点难,return 有表达式和无表达式。到main函数中,无返回值的加void /*暂且记着吧*/
6、break达到查找目的后终止
第六章 字符和字符串
char是单个字符。。
\\的意思,便于输入路径。
char.isLetterordigit();toupper;
\a 叹号;\b 退格 ;\f 换页;\v竖tab; /*为什么有一些账号输入的限制不同?*/
1、mystr1.Toupper() 直接变量后面跟To ;接收变量=char.Toupper(变量)
2、string.campare(str1,str2,ture) /返回值是int
3、数值格式符:string.fomat("{0234:c货币符号d占位符efgnxp}",i)
4、截取:str()=字符串1.substring(i,1) /*很有用,领悟一下*/
5、string[] str=str0.split();foreach(strout in str) /**两种分割方式,再领悟下/
6、indexof是查找
6、copyTo(第几位,目标数组,,) /*无返回值,不要用=号,如何在界面里调用?*/
7、低位16位转高位32位,可以隐式转换,不许定义,自动运行,char=(char)int
8、三种方式的格式(char)不进行四舍五入;convert.toChar点出来看看;char.parse之转化string类型;的限定转化范围
9、stringbuilder类,比i+=j;,不用重新开辟,动态数组,拼接字符串,提高效率
第七章 数组 Array与console的转化
string str=new string[2,3]{{"wo","ni"“ta”},{“1”,“2”,“3”}} //理解下3维数组
foreach某种程度上是for语句的整合,直接输出不要分号!只在括号内定义!!!
数组属于sys.Array派生来的
1、name.getupperbound(0) //第一维的上限值,多用于for语法,想想水池算法?*/
2、i=array.indexof(,)
3、i=array.binarysearch( , )返回-20 /**2分法?有算法的感觉了/
4、sort/reverse /*n内部算法是什么?为什么excel就很快?*/
Array算完,foreach后才能输出
********************arraylist*********************************
arraylist()=int/string/char、int32等[]可变数组;La.add();
但是La.AddRange(Icollection)
La.remove(2,3)
/********读取输入的字符串,并转化成数组,排序,输出*********/
定义数组;for语句,La[i]=convert.Int32(read)
第八章 方法
建立变量为a 的方法void jiecheng(int a) // 一般两个参数才有返回值吧?
int 项目名(params object []变量名) //更自由
out返回?? //不懂
1、静态方法只能调用静态成员,非静态方法可以this.调用所有成员
2、class1种的virtual method能被取代class2:class1
3、class1:class1{ publc/protected overide/virtual void mymethod(){}}里;
4、extern int messageBox( , , ,)有返回值
5、分部方法partial,无返回值,默认pravete,F12
6、方法的重载=方法集根据参数数量调用
7、main方法的四种
第九章 结构 类 属性
/******************结构**********************/
struct在class上
enum限制范围,cw(前置转化) //做表很有用
/******************类实例化*********************/
对象是根据类创建的,类不占内存
1、构建非静态struct,非静态类,
2、main调用类: leiname 对象=new leiname(); 类.对象.变量,对象=console?
3、对象.变量= ;
this??
/*******************属性****************************/
get{return=class1};
set{class1=value} //属性,字段默认private
class里可以存放(字段char、属性getset、write方法) //有感触!
/******************构造函数与析构函数********************/
crf=封装字段? 就是给字段加属性!
1、不能加void,必须加public 貌似很重要,但没操作过
2、构造函数的名称必须和类名一样?
3、可以重载
4、类里都有一个默认的空构造函数,如果新增会被覆盖,需要重申请
/**********************继承,封装,多态*******//一个父类,多个派生体****/
1、public,跨项目;默认private,本类种;protect,子类中,internal当前项目中访问
2、实现多态:virtual,abstract,接口
3、clerk设成virtual,继承类override,然后Write
4、abstract基类无write,不能new abstract
4、抽象类可以包含非抽象的方法
5、只要方法不要方法体:只要write 不要write “鸟类”时,加abstract,派生类加override
第十章 接口 //一个派生体两个接口
1、class 默认private interface默认public
2、class只能继承:一个,interface可以多个。
3、继承多个接口:void jiekou1.Eat()
4、隐式有public,通过类来实现ealge。显式没有public,通过接口实现Iflyable。 //隐式=类?
pow(x,y),就是x^y?!
abstract和virtual,都要override,前者没有自己的实现
1、虚方法:父类需要实现方法“体?” ——父养父教
2、抽象方法:需要父类抽象出一个方法,但不需要父类实现方法。——父不养父教
3、接口:不需要父类 ——父不养父不教
第十一章 捕获异常
try catch finally
自定义异常,继承:,然后base
第十二章
功能界面和数据界面?
label/text可以做一个登录界面
1、combox mode/item.add(i) //创建新窗口,语句和控件操作冲突?
2、checkitem 和selectitem的区别?
3、string—int的相互转化。需要再继续学,
4、try{}catch{}的用法现在才体会到。
5、实例化一个窗体—panel.control.add(窗体);窗体.show()
foreach(控件在penal中) 和&&.checked
第十三章
pic的路径问题很麻烦
引用路径要加system.IO
集合添加元素的方法有3种? /***3种?***/
1、集合.add
2、集合.addrange /****i的时候如果是集合就用count,如果是数组就用list
3、集合.addstript
draw有3种 /***三种***/
1、(graphics对象名、左上角坐标、索引值)
2、(graphics对象名、水平坐标、很坐标,索引值)
3、(graphics对象名、水平坐标、很坐标,高度,宽度,索引值)
selectItem[].subItem[].text
第十四章 数据库
IPconfig/all
业务主键/逻辑主键
.net五大对象
connection/command/dataReader/dataAdapter数据适配器/dataSet数据集,数据库断开下进行操作/
try{using(mysqlconnection) mysqlconnection.open() }cacth{ }fanally{mysqlconnection.close}
while(mydr.Read()) /判断语句?读取下一行,很重要
if(mydr.HasRows) /判断语句?
clone只字段/copy包括全部数据
1、string.链接地址,sring.链接语句,new.建立连接→try{}cacth{}
——————————————
2、new.commad;new.dataReadered
3、for循环,Fieldcount→getname
4、while()myDr[i].tostring
——————————————
2、new.适配器,new.数据集、fill
3、foreach(表in数据集.表) foreach(列) foreach(行[列])
**************************************************************************
new DateView()实例化对象直接带参数?
第15章 DataGridVeiw
e.row=currentrow
第十六章 调试程序
#define了解一下行了,用的多吗?
1、release 发布版 减量信息
2、debug 调试版 增量信息
3、vshost提高调试性能
release下只能输出trace.writeline;debug下可输出debug.writeline,不能用占位符
—————断点调试—————————
第十七章 正则表达式与hashtable
regular expression
在程序中@“^(010|010-)\d{7,8}$”; 蛮有用的,
1、静态方法:用bool
2、实例化:Match.susseed
key/value表。key并非i,不是索引值,可能是空值,所以不能用for循环
第十八章 迭代器iterator 分部类
又叫游标cursor
string是继承很多接口的
分部类partail 类名可以一样?
//属性的声明,其实就是构造函数?
索引器public int this[int index ] //get 只读 set只写?
虚拟索引器 外部索引器?
0 0