级C#复习Word格式.docx

上传人:b****5 文档编号:18839761 上传时间:2023-01-01 格式:DOCX 页数:15 大小:22.26KB
下载 相关 举报
级C#复习Word格式.docx_第1页
第1页 / 共15页
级C#复习Word格式.docx_第2页
第2页 / 共15页
级C#复习Word格式.docx_第3页
第3页 / 共15页
级C#复习Word格式.docx_第4页
第4页 / 共15页
级C#复习Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

级C#复习Word格式.docx

《级C#复习Word格式.docx》由会员分享,可在线阅读,更多相关《级C#复习Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

级C#复习Word格式.docx

s2”);

}else

Console.WritelLine(“s1>

}

判断字符串是否为空:

If(s1.Length==0)

Console.WritelLine(“s1为空”);

得到子字符串或字符:

Strings2=s1.SubString(2,2);

//从第二个字符开始取2个字符,s2=”cd”

Chars3=s1[0];

//s3=”a”

字符串删除函数:

Stringsc=s1.Remove(1,2);

//从第一个字符开始删除后2个字符,sc=”a”

插入字符串函数:

Strings1=s2.Insert(3,”软件”);

//在s2中第三个字符后面插入“软件”,s1=”bcd软件”

字符串替换函数:

Strings1=s2.Replace(“bcd”,”软件”);

//s1=”软件”

字符串转换为字符数组:

Strings=”计算机科学”;

Char[]s1=s.ToCharArray(0,s.Length);

其他数据类型转为字符串:

Inti=9;

Strings8=i.ToString();

//s8=”9”

Folatn=1.9f;

Strings9=n.ToString();

//s9=”1.9”

大小写转换:

Strings=”ABCDefg”;

Strings1=s.ToLower();

//把字符转为小写,s1=”abcdefg”

Strings2=s.ToUpper();

//把字符转为大写,s2=”ABCDEFG”

删除所有空格:

Strings=”Abc”;

s.Trim();

4、foreach语句的使用;

P19

Foreach(类型变量名in表达式)循环语句

UsingSystem;

ClassTest

PublicstaticvoidMain()

Int[]I=(10,20,30,40);

Foreach(intminI)//变量m在I数组中从第1个字符开始循环到最后一个字符结束

Console.WriteLine(“{0}”,m);

5、使用Convert类和parse方法进行类型转换;

Strings=”123456789”;

Ints1=ConvertToInt32(s);

Inta=int.parse(s);

 

6、属性是如何在类中使用的?

和类的成员方法相比有什么异同?

P24-25

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceConsoleApplication1

{

publicclassProgram

privatestringP_name="

张三"

;

privateintP_age=12;

publicvoidDispaly()

Console.WriteLine("

姓名:

{1}"

P_name,P_age);

publicstringName

get{returnP_name;

}

set{P_name=value;

publicintAge

get{returnP_age;

set{P_age=value;

}

publicclassTest

publicstaticvoidMain()

ProgramOneProgram=newProgram();

OneProgram.Name="

田七"

//value=“田七”通过set方法修改变量P_name

strings=OneProgram.Name;

//通过get方法得到变量P_name的值

intx=OneProgram.Age;

//通过get方法得到变量P_age的值

OneProgram.Dispaly();

//调用Dispaly方法显示

7、数据库应用程序设计的两种方式:

连接方式和不连接方式。

连接方式的设计步骤(P186),不连接方式的设计步骤(P185-186)

设计一个连接方式数据库应用程序一般包括以下基本步骤:

a)建立数据库,包括若干个表,在表中添入数据(若干记录)。

b)用SqlConnection类建立数据库应用程序和数据库连接对象。

c)使用SQLCommand类对象用SQL语句来访问数据库中的数据,直接在数据库的表中查询指定记录、增加记录、删除记录,修改记录中的数据。

使用ADO.Net设计一个不连接方式数据库应用程序一般包括以下基本步骤:

a)创建数据库,包括若干个表,在表中添入数据。

c)用SqlDataAdapter类对象从数据库指定表中取出感兴趣的记录。

d)从数据库指定表中取出的感兴趣记录做成一个新表,填充到DataSet类对象中,可填充多个表,并可在DataSet类对象中指定表和表的关系。

DataSet对象建立在内存中,可以认为是数据库在内存中的一个子集。

取出所有感兴趣的数据后,断开和数据库的连接。

e)将DataSet类对象中的数据作为数据源,用支持数据绑定的控件(如ListView、TextBox等控件)的属性绑定到DataSet数据源中的表或表的字段,供用户浏览、查询、修改。

f)及时更新DataSet中的内容,并把修改的数据存回源数据库。

8、连接方式设计数据库应用程序时,需建立SqlConnection对象和SqlCommand对象。

SqlCommand对象的执行方法有ExecuteReader(执行Select语句,配合SqlDataReader来保存选择的记录,完毕后SqlDataReader需要手动调用close()方法关闭)、ExecuteNonQuery(执行Insert、Update、Delete语句)和ExecuteScalar(执行统计类的SQL语句,例如count等)。

连接方式设计数据库应用程序需要手动调用SqlConnection对象的Open()和Close()方法来打开/关闭数据库连接。

9、完毕后SqlDataReader对象保存SQL选择语句返回记录中的第一条记录前一个位置,通过调用该实例的Read方法来使指针逐条记录下移。

10、不连接方式设计数据库应用程序时,数据库分为三层(远端服务器的数据库源、本地内容中的内存数据库DataSet/DataTable、客户端显示插件DataGridView等)。

组件SqlDataAdapter负责远端数据库和内存数据库之间的通讯,其隐藏了SelectCommand等命令,自动完成数据库的连接于关闭,调用其Fill和Update方法完成内存数据库和远端数据库的数据传输。

BindingSource负责内存数据库和DataGridView之间的数据同步;

11、C#中参数传递的两种方法:

值参数(不含任何修饰符)、引用参数(前+ref修饰);

P26

方法的声明格式:

方法修饰符返回类型方法名(形参列表){方法体}

Publicstaticvoidname()

{Console.WriteLine(“田七”);

方法修饰符包括:

new、public、protected、internal、private、static、virtual、sealed、override、abstract和extern。

参数传递--参数值(不含任何修饰符)

PublicstaticvoidF2(chari)

{i=”d”;

参数传递--引用参数(前+ref修饰)

PubilcstaticvoidF1(refchari)

{i=”b”;

StaticvoidMain(string[]args)

Chara=”c”;

F2(a);

//值参数,不能改变外部的a的值

Console.WriteLine(a);

//a未被修改,显示c

F1(refa);

//引用参数,函数修改外部的a的值

//a被修改为b,显示b

12、C#中可以使用Lock、Mutex和Monitor来实现线程之间的互斥;

用C#语句Lock实现互斥

ObjectthreadLock=newObject;

//在window1类中定义变量

publicvoidFun1()

intk,n;

for(k=0;

k<

4;

k++)

{//lock(this)//这里的this是window1类的对象

lock(threadLock)//具有同一对象(本例为threadLock)的代码区是临界值

{//这对大括号中的代码为threadLock的临界区

n=num;

//该临界区包括两个部分,函数Fun1和Fun2中的临界区

n++;

Thread.Sleep(10);

num=n;

Thread.Sleep(50);

}//退出该方法,线程结束

publicvoidFun2()

{//lock(this)//如有线程进入此临界区,其他线程就不能进入此临界区

lock(threadLock)//如果有多个共享数据区,此方法使用比较好

{//也不能进入前面的临界区

Thread.Sleep(100);

用C#语句Mutex实现互斥

mut.WaitOne();

//等候互斥体访问权

//mun.WaitOne()和mun.ReleaseMutex()之间是互斥体

//Mutex类对象mut的互斥体包含两部分,函数Fun1和Fun2中互斥体

//有线程进入互斥体,其他线程不能进入任何一个互斥体

mun.ReleaseMutex()//释放互斥体访问权

mut.WaitOne();

mun.ReleaseMutex()

13、C#中的数据类型:

简单类型P9,一个字符占2个字节,数组类型P11-12(一维数组、二维数组、交错数组的定义和使用,Count、Capacity、Length等属性);

数组定义:

Int[]arr;

Int[,]arr;

14、线程的创建方法是?

P187-189(注意有参数和没参数两种形式);

Publicvoidfun1()//定义一个在线程中执行的方法

{Thread.Sleep(500);

//模拟费时计算

intx=2,y=3,z;

z=x+y;

//退出该方法,线程结束

Threadthread=newThread(newThreadStart(fun1));

//创建线程无参

thread.Start();

//启动线程

Threadthread1=newThread(newParameterizedThreadStart(fun2));

//有参

15、RichTextBox和TextBox相比,可以完成复杂文字处理功能与Word相似;

16、C#2.0中不允许在函数中直接修改线程外控件属性;

使用控件Invoke方法修改外控件属性

17、和基于TCP的Socket编程相比,基于UDP的Socket编程的优点和缺点是什么?

P218

基于UDP编程:

优点:

无连接(速度快)、可用于广播(组播)、消耗网络宽带小

缺点:

不可靠、安全性差、不保证报文顺序交付

18、(类的定义和使用)定义Book类,包括私有成员变量表示书的书名、ISBN、作者、价格、馆藏数量,增加有参数和无参数的构造函数,定义显示书记五项信息的显示的方法,定义修改馆藏数量的方法,定义修改书名的方法,定义修改价格的方法(或者用属性来修改这些信息)。

在主函数中生成Book类对象,调用Book类方法来修改和显示馆藏数量、书名和价格等信息。

参考P241.9.2Person类的例子。

namespaceConsoleApplication2

publicclassbook

privatestringbookName,ISBN,zuoZhe;

privateintshuLiang,jiaGe;

书名:

{0}"

bookName);

ISBN:

ISBN);

作者:

zuoZhe);

数量:

shuLiang);

价格:

jiaGe);

publicstringbName

set{bookName=value;

get{returnbookName;

publicstringiBNS

set{ISBN=value;

get{returnISBN;

publicstringZuoZhe

set{zuoZhe=value;

get{returnzuoZhe;

publicintShuLiang

set{shuLiang=value;

get{returnshuLiang;

publicintJiaGe

set{jiaGe=value;

get{returnjiaGe;

staticvoidMain(string[]args)

bookbook1=newbook();

请输入书名:

"

);

book1.bName=Console.ReadLine();

stringname=book1.bName;

请输入IBNS:

book1.iBNS=Console.ReadLine();

stringibns=book1.iBNS;

请输入作者:

book1.ZuoZhe=Console.ReadLine();

stringzuozhe=book1.ZuoZhe;

请输入价格:

book1.JiaGe=Convert.ToInt32(Console.ReadLine());

intjiagge=book1.JiaGe;

请输入数量:

book1.ShuLiang=Convert.ToInt32(Console.ReadLine());

intshuliang=book1.ShuLiang;

书籍的基本信息:

book1.Dispaly();

Console.ReadLine();

19、(文件和流)实现将某一特定目录(例如C:

\ProgramFiles)下的所有的文件夹在TreeView结构和ListView结构中显示(参考资源管理器实验);

UsingSystem.IO;

//使用文件必须引用命名空间

//获取某路径中的目录信息:

stringPath=某路径字符串;

DirectoryInfoMyFolders=newDirectoryInfo(Path);

DirectoryInfo[]folders=MyFolders.GetDirectories();

foreach(DirectoryInfofolderinfolders)

TreeNodet=newTreeNode(folder.Name,2,2);

treeview1.Nodes.Add(t);

//添加文件项目到listview

DirectoryInfofolder=newDirectoryInfo(Path);

DirectoryInfo[]difs=folder.GetDirectories();

foreach(DirectoryInfodifindifs)

ListViewItemitem2=newListViewItem(dif.Name,2);

listView1.Items.Add(item2);

20、(WPF编程布局)用WPF实现菜单的编写以及布局。

(参照第4章课件P4-6)

<

Grid>

DockPanel>

MenuMargin="

0"

DockPanel.Dock="

Top"

>

MenuItemHeader="

文件"

>

新建"

<

/MenuItem>

打开"

保存"

编辑-"

帮助"

/Menu>

RichTextBoxDockPanel.Dock="

Bottom"

/RichTextBox>

/DockPanel>

/Grid>

21、(ADO.NET编程)实现本地数据库的连接(连接方式和不连接方式均可,建议选择连接方式),能够进行数据库的查询、注册、登录、修改、删除等操作。

(最后两次数据库实验)。

Publicstaticvoiddenglu

stringconnstring="

DataSource=localhost;

InitialCatalog=test;

IntegratedSecurity=true"

//stringSqlStr="

Select*fromstuwhereusername='

+UserName.Text+”andpassword=”+PassWord.password;

if(UserName.Text=="

||PassWord.Password=="

)//登录

MessageBox.Show("

账号密码不能为空"

Return();

}else{

stringu=UserName.Text;

stringp=PassWord.Password;

SqlConnectiona=newSqlConnection(connstring);

a.Open();

SqlCommandb=newSqlCommand("

selcet*formstuwhereusername="

+u+"

andpassword="

+p,a);

b.ExecuteNonQuery();

stringu2=b.ExecuteScalar().ToString();

if(u2==u)

MessageBox.Show(“登录成功”);

else

{

MessageBox.Show(“登陆失败!

”);

a.Close();

}}

//插入一条记录(注册)Insert

Publicstaticvoidzhuce{

stringconnstring

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1