C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。下面就由本站 小编为大家简介一下c#经典笔试题的文章,欢迎阅读。
c#经典笔试题篇1
1. c#中错误处理机制有哪些
CLR提供的结构化错误处理机制,用try..catch..finally 捕获
2. public/protect/private/internal修饰符的区别
public:任何类和成员都可以访问
protect:该类和派生类能访问
private:只能该类访问
internal:只能在包含它的程序集中访问
3. 大量数据(如3000万条数据)并发处理时,有哪几种机制
存储过程或事务.取得最大标识的时候同时更新,注意主键不是自增量方式.这种办法并发的时候是不会重复主键的,
取得最大标识要有一个存储过程来获取.
4. String/StringBuilder的异同
string是一个不可变的数据类型,一旦对字符串对象进行了初始化,该字符串对象就不能改变了。修改字符串内容的办法
和运算符实际上是创建一个新的字符串.
stringbuilder分配好内存,对字符串的修改就在赋予stringbuilder实例的存储单元中进行.
举例:
string的确是不能修改的:
string str = "a";
str = "b"//str是被赋值了"b"没错,但是呢str里面原来的string值"a"并没有被修改。
string str = "a";
string str1 = str;
str += "b";//此时str = "ab",str1 = "a";
StringBuilder str = new StringBuilder( "a" );
StringBuilder str1 = str;
str.Append( "b" );
str.ToString和str1.ToString都是"ab"。
5. 解释string str=null/string str=""
str=null,声明而不分内存空间,str=""声明而分内存空间
6. 啥是单例模式,写个运用单例模式的类
Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接
实例它
// Singleton pattern -- Structural example
using System;
// "Singleton"
class Singleton
{
// Fields
private static Singleton instance;
// Constructor
protected Singleton
// Methods
public static Singleton Instance
{
// Uses "Lazy initialization"
if( instance == null )
instance = new Singleton;
return instance;
}
}
/////
/// Client test
///
public class Client
{
public static void Main
{
// Constructor is protected -- cannot use new
Singleton s1 = Singleton.Instance;
Singleton s2 = Singleton.Instance;
if( s1 == s2 )
Console.WriteLine( "The same instance" );
}
}
7. Asp.net页面间传递有哪几种方式
QueryString, response.Redirect, session, server.Transfer
8. 解释重载/覆盖
9. Web Services的含义/UDDI的含义
Web服务是利用SOAP在HTTP上执行远程办法调用的一种新办法。
UDDI的含义:统一描述发现和集成(UDDI)提供一种发布和查找服务描述的办法。
10.虚函数/抽象函数各自的定义
虛函數:由virtual聲明,它允許在派生類中被重寫,要重寫办法,必須先聲名為virtual
public class myclass
{
public virtual int myint
{
函數体;
}
}
class myclass1:myclass
{
public override int myint
{
函數体1;
}
}
抽象類、抽象函數:由abstract聲明,在抽象類中可以定義抽象办法,抽象办法基本沒有執行代碼,派生類必須重寫它,提供其執行代碼
public abstract class myclass
{
public abstract int myint;
}
public class myclass1:myclass
{
public override int myint
{
函數体;
}
}
c#经典笔试题篇2
1.接口和类的异同
接口類:由interface聲明,是特殊的抽象類,是办法、屬性、事件和索引符的組合,沒有字段,其成員無執行方式,無構造函數,不允許進行運算符重載,接口和它的成員沒有任何訪問修飾符,它總是公共的,不能聲明為虛擬或靜態,繼承自接口的派生類必須實現接口中的所有办法
interface Imyinterface
{
void myfunction;
string name
{
get;
set;
}
}
class myclass:Imyinterface
{
void myfunction
{
函數体;
}
string name
{
get
{
return name;
}
set
{
name=value;
}
}
}
接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负责功能的具体实现!
在类中也有抽象类的定义,抽象类与接口的区别在于:
抽象类是一个不完全的类,类里面有抽象的办法,属性,也可以有具体的办法和属性,需要进一步的专业化。
但接口是一个行为的规范,里面的所有东西都是抽象的!
一个类只可以继承一个基类也就是父类,但可以实现多个接口
2.property/assembly区别
3.DataReader/DataSet区别
dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表
DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接
datareader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后有用户决定是否断开连接。
4.using/new各自的意义
using引入名称空间或者说使用非托管资源new 新建实例或隐藏父类办法
5.一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现
public class MainClass
{
public static void Main
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i 0 && i
推荐站内搜索:聊城大学2021录取分数线、百米赛跑作文、2013年成人高考录取分数线、2019教师资格证面试出成绩、河南省教师资格证成绩查询、事业单位考试试题、《平凡的世界》读后感、我的理想作文400字、齐齐哈尔大学录取分数线湖北省教师资格证成绩查询、