- 冒泡排序
for(intj=0;j<nums.Length-1;j++)
{
for(inti=0;i<nums.Length-1-j;i++)
{
if(nums[i]>nums[i+1])
{
inttemp=nums[i];
nums[i]=nums[i+1];
nums[i+1]=temp;
}
}
}
2.ADO.NET中的五个主要对象
Connection
:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据
库中取得数据的。
Close
和
Dispose
的区别,
Close
以后还可以
Open
,
Dispose
以后则不能再用。
Command
:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除
数据等指令,以及调用存在数据库中的存储过程等。这个对象是架构在
Connection
对象上,也就是
Command
对象是透过连接到数据源。
DataAdapter
:主要是在数据源以及
DataSet
之间执行数据传输的工作,它可以透过
Command
对象
下达命令后,并将取得的数据放入
DataSet
对象中。这个对象是架构在
Command
对象上,并提供了许多
配合
DataSet
使用的功能。
DataSet
:这个对象可以视为一个暂存区(
Cache
),可以把从数据库中所查询到的数据保留起来,甚
至可以将整个数据库显示出来,
DataSet
是放在内存中的。
DataSet
的能力不只是可以储存多个
Table
而
已,还可以透过
DataAdapter
对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。
DataSet
对象可以说是
ADO.NET
中重量级的对象,这个对象架构在
DataAdapter
对象上,本身不具备和数据源沟
通的能力;也就是说我们是将
DataAdapter
对象当做
DataSet
对象以及数据源间传输数据的桥梁。
DataSet
包含若干
DataTable
、
DataTableTable
包含若干
DataRow
。
DataReader
:当我们只需要循序的读取数据而不需要其它操作时,可以使用
DataReader
对象。
DataReader
对象只是一次一笔向下循序的读取数据源中的数据,这些
数据是存在数据库服务器中的,而
不是一次性加载到程序的内存中的
,只能(通过游标)读取当前行的数据,而且这些数据是只读的,并不
允许作其它的操作。因为
DataReader
在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使
用起来
不但节省资源而且效率很好。使用
DataReader
对象除了效率较好之外,因为不用把数据全部传回,
故可以降低网络的负载。
ADO.NET
使用
Connection
对象来连接数据库,使用
Command
或
DataAdapter
对象来执行
SQL
语
句,并将执行的结果返回给
DataReader
或
DataAdapter,
然后再使用取得的
DataReader
或 DataAdapter对象操作数据结果。
3.在.NET中类(class)与结构(struct)的异同?
Class
可以被实例化
,
属于引用类型
,
是分配在内存的堆上的。类是引用传递的。
Struct
属于值类型
,
是分配在内存的栈上的。结构体是复制传递的。
4.C#中的接口和类有什么异同?
不同点
:
不能直接实例化接口。
接口不包含方法的实现。
接口可以多继承,类只能单继承。
类定义可在不同的源文件之间进行拆分。
相同点
:
接口、类和结构都可以从多个接口继承。
接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
接口和类都可以包含事件、索引器、方法和属性。
5.stringstr=null与 stringstr=""有什么区别?
stringstr=null
把这个引用指向了一个
null
,没有地址没有值的地方,即没分配内存空间
stringstr=""
把这个引用指向了一个地址,地址里面存的是空的字符,即占用了内存空间