.net复习之六

二、C# 部分*
13.以下哪些可以作为接口成员?(多选) ( ABDE )
A.方法B.属性C.字段D.事件E.索引器
F.构造函数G.析构函数
14.以下关于ref和out的描述哪些项是正确的?(多选) (    ACD      )
A.使用ref参数,传递到ref参数的参数必须最先初始化。
B.使用out参数,传递到out参数的参数必须最先初始化。
C.使用ref参数,必须将参数作为ref参数显式传递到方法。
D.使用out参数,必须将参数作为out参数显式传递到方法。
15.“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?(   B    )
A.public         B.protected             C.internal          D.protected internal
16.class Class1
{
     private static int count = 0;
     static Class1()
     {
         count++;
     }
     public Class1()
     {
         count++;
     }
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.Count的值是多少?(   C   )
A.1          B.2              C.3              D.4
17.abstract class BaseClass
{
     public virtual void MethodA()
     {
     }
     public virtual void MethodB()
     {
     }
}
class Class1: BaseClass
{
     public void MethodA(string arg)
     {
     }
     public override void MethodB()
     {
     }
}
class Class2: Class1
{
     new public void MethodB()
     {
     }
}
class MainClass
{
     public static void Main(string[] args)
     {
         Class2 o = new Class2();
         Console.WriteLine(o.MethodA());
     }
}
请问,o.MethodA调用的是: (   A   )
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
18.请叙述属性与索引器的区别。
属性 索引器     
   通过名称标识。 通过签名标识。     
   通过简单名称或成员访问来访问。 通过元素访问来访问。     
   可以为静态成员或实例成员。 必须为实例成员。     
   属性的    get    访问器没有参数。 索引器的    get    访问器具有与索引器相同的形参表。     
   属性的    set    访问器包含隐式    value    参数。 除了    value    参数外,索引器的    set    访问器还具有与索引器相同的形参表。
19.请叙述const与readonly的区别。
每一个class至多只可以定义一个static构造函数,并且不允许增加访问级别关键字,参数列必须为空。
         为了不违背编码规则,通常把static数据成员声明为private,然后通过statci property提供读写访问。
         const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。
         const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估。
         const成员可以使用另一个const成员来初始化,前提是两者之间没有循环依赖。
         readonly在运行期评估赋值,使我们得以在确保“只读访问”的前提下,把object的初始化动作推迟到运行期进行。
         readonly 关键字与 const 关键字不同: const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数。
readonly 只能在声明时或者构造函数里面初始化,并且不能在 static 修饰的构造函数里面。
21.您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。
所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:
a、 匿名用户不允许访问这个应用程序。
b、 所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?(   A   )
A. <authorization>
<deny users=”allwin"tess, allwin"king”>
<allow users=”*”>
<deny users=”?”>
</authorization>
B. <authorization>
<allow users=”*”>
<deny users=”allwin"tess, allwin"king”>
<deny users=”?”>
</authorization>
C. <authorization>
<deny users=”allwin"tess, allwin"king”>
<deny users=”?”>
<allow users=”*”>
</authorization>
D. <authorization>
<allow users=”allwin"tess, allwin"king”>
<allow users=”*”>
</authorization>
E.<authorization>
<allow users=”*”>
<deny users=”allwin"tess, allwin"king”>
</authorization>
22.您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做?(   C?   )
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数。
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数。
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数。
D. 重写OnLayout事件,当Grid的Footer行被创建时显示合计数。
23.您 要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP 代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)(   CD    )
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。
E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET 代码错误。
F. 在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET HTTP错误。
24.您 的公司有一个DB Server,名为AllWin,其上装了MS SQLSERVER 2000。现在需要您写一个数据库连接字符串,用以连接AllWin上SQL SERVER中的一个名为PubBase实例的Test库。请问,应该选择下面哪一个字符串?(   B   )
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
C. “Data Source= AllWin "PubBase;Initial Category=PubBase;Integrated Security= SSPI”
D. “Data Source= AllWin " PubBase;Database=Test;Integrated Security= SSPI”
25.您 为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?(   ?   )
A.在“引用”对话框的.Net标签中选择 System.Web.Services.dll。
B.在“Web引用”对话框中输入这个 XML Web service 的地址。
C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个 XML Web service 的地址。
D.在您的 Global.asax.cs 中写一个事件处理器导入这个 Xml Web Service 相应的 .wsdl 和 .disco 文件。
26.您 要创建一个ASP.NET应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个 SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的 CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为 procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字 母顺序排列的ProductName,请问该怎么做? (   B   )
A. 将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为”SELECT * FROM procProductList ORDER BY ProductName DESC”。然后将这个DataTable对象绑定到DataGrid控件。
B. 创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为“ProductName DESC”。然后将这个DataView对象绑定到DataGrid控件。
C. 将DataGrid控件的AllowSorting属性设置为True,并将DataGridColumn的SortExpression属性设置为 “ProductName DESC”.以显示ProductName。然后将这个DataTable对象绑定到DataGrid控件。

  D. 将DataTable对象的DisplayExpression属性设置为 “ORDER BY ProductName DESC”.。然后将这个DataTable对象绑定到DataGrid控件。

 

 

 

 

 

邏輯推理:
   -----------------------------------

   一人拿一張百元鈔票到商店買了25元的東西,

   店主由於手頭沒有零錢,便拿這張百元鈔票到隔壁的小攤販那裡換了100元零錢,
   並找了那人75元零錢。

   那人拿著25元的東西和75元零錢走了。

   過了一會兒,隔壁小攤販找到店主,說剛才店主拿來換零錢的百元鈔票是假鈔。

   店主仔細一看,果然是假鈔。

   店主只好又拿了一張真的百元鈔票給小攤販。


   問:在整個過程中,店主一共虧了多少錢財?

 -----------------------------------------------------------------------------------------

 

 

 

 

 

 先说说答案是200的思路
很简单
顾客是白赚的 25+75=100
老板赔的 货25+现金75+100赔给小贩=200
小贩不赔不赚
顾客给老板假钱,是一分不值的,但他却从老板这里拿走了东西和钱.如果老板不找小贩换钱的话,他赔100(货物的利润,进价等不计)
但他找了小贩换了钱.小贩是要他赔偿的
老板另外得掏100给小贩
所以老板得到废纸一张,给了顾客25东西,75现金
又赔给小贩100.总计200

但这是不正确的.原因就在于他那75是小贩的,而不是老板的.
算法
乱就乱在了小贩后来发现钱是假的,又回来找老板了
如果在开始换钱的时候,老板不是用的那张假钞,而是自己的真钱的话,问题就简单了.他给了小贩100真的,换回100另的.可以把小贩排除了.这 时,可以看做是老板自己的100元另钱.这里没小贩的事了,你可以看做是提前换好的.顾客来了,给了一张费纸(假钱当然是费纸).他拿走了25的货+75 的零钱,是100.我们可以看做他是抢的,老板赔了100元

再换一种思路.顾客赚了100,是事实在在的.他是拿着25块钱的东西和75块钱走了.但这钱不是老板的,是小贩的一开始这100是小贩给买的单(假钱在他那里)后来,他找到了老板,老板赔给他100.等于老板给顾客买的单.
如果老板把这假的100又花出去了呢?
那么他就不赔了!

所以,最终答案是100元(不计商品的利润,不算假钱老板又花出去了)

posted @ 2011-11-23 10:58  wangjj89621  阅读(222)  评论(0编辑  收藏  举报