一.选择题
1.下列描述错误的是()
A 类不可以被多重继承而接口可以;
B 抽象类自身可以定义成员而接口不可以;
C 抽象类和接口都不能被实例化;
D 一个类可以继承多个基类和多个基接口;
D纠正一个类只可以继承一个基类
2.下列哪个名词和WebServices不直接相关()
A UDDI
B GUID
C WSDL
D SOAP
webService三要素:SOAP、WSDL (WebServicesDescription Language)、UDDI( UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。
3.下列选项中,()是引用类型
A enum B struct C string D Int
4.声明一个委托 public delegate int myCallBack(int x);则用该委托产生的回调方法的原型应该是()
A void my myCallBack(int x);
B int receive(int name);
C string receive(int x);
D 不确定的;
说实话,委托只知道概念,深入的也不了解,个人理解,委托的参数方法名就是回调函数,以上只有B符合条件被委托调用
B
5.以下的C#代码,试图用来定义一个接口:
public interface IFile
{
int A;
int delFile()
{
A=3;
}
void disFile();
}
关于以上的代码,以下描述错误的是()
A 以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;
B 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;
C 代码 void disFile(); 声明无错误,接口可以没有返回函数;
D 代码 void disFile(); 应该编写为void disFile(){};
C接口可以没有返回值
D代码void disFile();是正确的,接口中的所有方法都是抽象方法,实现这个接口的类实现这个方法
6.下面关于XML的描述错误的是()
A XML提供一种描述结构化数据的方法;
B XML是一种简单,与平台无关并被广泛采用的标准;
C XML文档可承载各种信息;
D XML只是为了生成结构化文档;
I don't know why
7.如果设treeView1=new TreeView(),则treeView1.Nodes.Add("根节点")返回的是一个()类型的值
A TreeNode B int C string D TreeView
8.要创建多文档应用程序,需要将窗体的()属性设为true
A Draw B ShowInTaskbar C Enabled D IsMidContainer
9.下列关于C#中的索引器理解正确的是()
A 索引器的参数必须是两个或者两个以上
B 索引器的参数类型必须是整型
C 索引器没有名字
D 以上皆非
二 判断题
1.String 类是final 类故不可以继承 对
2.在.Net中,类System.Web.UI.Page可以被继承 对
3.不能指定接口中方法的修饰符 对
4.MVC中的Controllor可以通过TempData属性来不同的View间传递数据 不对
http://www.cnblogs.com/tristanguo/archive/2009/04/06/1430062.html
5.WCF服务的服务名在客户端和服务端必须一致 对
6.密封类不能同时为抽象类 对
7.如果要实现重写,在基类中方法中必须使用virtual关键字,在派生类的方法中必须使用overrides关键字 不对,是override
8.委托是把方法作为参数传递给另一方法的一种数据类型,事件与委托没关系。 不对
9.Overloaded的方法是可以改变返回值的类型 对
10.在.net中所有类的基类都是object 对
三 填空题
1.使用foreach遍历访问的对象需要实现—IEnumerable—接口和声明—GetEnumerable—方法的类型
2.List和Set都是继承自—Collection—接口
3.GAC的含义是—全局程序集缓存—
4.在Asp.net中所有的自定义用户控件都必须继承自—System.Web.UI.UserControl —
5.传入某个属性的SET方法的隐含参数的名字是—value—
6.说明html及JavaScript中的下面各项的含义:
td{color:red;}
.td{color:red;}
#td{color:red;}
8.WCF中—宿主—用来将服务加入进程。
四 简答题
1.简述堆和栈的区别。
这问题我知道仅限于值类型和引用类型 还是看别人的博客去
http://www.cnblogs.com/codingsilence/archive/2011/02/28/2146584.html
2.WCF结构由以下五大部分组成,请对它们分别进行简要解释。
服务契约
数据契约
服务实现
宿主
客户端
3.什么是虚函数?什么是抽象函数?
虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。
虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数是没有代码,子类继承后一定要重写
虚方法可被任何派生类重写,此外没有任何限制...
而抽象方法是隐式的虚方法,是有限制的虚方法...1.不允许实现;2.只允许在抽象类中声明;3.必须通过派生类实现...
五 程序题
1.请编程实现一个冒泡排序算法。
int [] array = new int
;
int temp = ;
for (int i = ; i < array.Length - ; i++)
{
for (int j = i + ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
2.下面这段代码输出什么?为什么?
int i=5; int j=5 if(Object.ReferenceEquals(i,j)) Console.WriteLine("Equal"); else
Console.WriteLine("not Equal");
不相等,比较的是对象
3.写出以下代码的输出结果
class Class1
{
private string str = "Class.str";
private int i = ;
static void StringConvert(string str) {
str = "string being converted";
} static void StringConvert(Class1 c)
{
c.str = "string being converted";
}
static void Add(int i)
{
i++;
}
static void AddWithRef(ref int i)
{
i++;
} static void Main(string[] args)
{
int i1 = ;
int i2 = ;
string str = "str";
Class1 c = new Class1();
Add(i1);
AddWithRef(ref i2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.WriteLine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i);
Console.WriteLine(str);
Console.WriteLine(c.str);
}
}
10
21
0
str
string being converted
4. 已知:
public class Person
{
//年龄
public int Age
{
get;
set;
} //姓名
public string Name
{
get;
set;
}
}
请书写:
1.1 请分别使用Linq和Lamda表达式实现从Person实例集合 List<Person> listPerson中过滤出年龄大于20且姓名包含"金"的所有Person对象
1.2 请使用Json实例化一个长度为2的listPerson对象;
2.请书写你编写过得较复杂的增,删,改,查SQL语句。
3.请编写一个html或者cshtml文件,实现一个表格和一个按钮,点击按钮从服务器端获取数据并更新到该页面的表格
4.写一个方法实现N!(N为自然数),请编写你所能想到的一个以上的实现方法。
5.请用代码描述一种你最为熟悉的.Net相关技术。