C#基础

来源:互联网 发布:提高手机网速软件 编辑:程序博客网 时间:2024/06/05 08:43

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
原创粉丝点击