就业模拟试题_Net(答案)
一、 基礎(chǔ)知識部分(每題3分,共60分)
| 答案 | 委托是一種傳遞消息的機(jī)制,可以將與委托簽名相同的方法作為參數(shù)傳遞 簽名相同包括:方法的返回值類型,參數(shù)個數(shù)和類型 事件是一種特殊的委托 |
| 答案 | SqlConnection 連接數(shù)據(jù)庫 SqlCommand 執(zhí)行Sql語句或存儲過程 SqlDataReader 實(shí)現(xiàn)對數(shù)據(jù)表記錄向前只讀,一次讀取一條記錄 SqlDataAapter 執(zhí)行Sql語句或存儲過程 SqlParameter? 向Sql語句或存儲過程傳遞參數(shù) |
| 答案 | DataSet提供一個內(nèi)存中數(shù)據(jù)的關(guān)系表示形式,相當(dāng)于內(nèi)存中的數(shù)據(jù)庫。DataSet中包含表集合和表和表之間的關(guān)系。 DataReader提供一個來自數(shù)據(jù)庫的快速、向前、只讀數(shù)據(jù)流。 DataSet 和DataReader都是ADO.NET提供以下兩個操作關(guān)系數(shù)據(jù)庫的主要對象。 DataSet經(jīng)常會利用DataAdapter一次性從數(shù)據(jù)庫里提取大量數(shù)據(jù)存放在其中,實(shí)現(xiàn)與用戶數(shù)據(jù)源進(jìn)行雙向交互。當(dāng)使用DataSet時,也可以利用DataView對DataSet中的數(shù)據(jù)應(yīng)用排序和篩選。也可以從DataSet繼承,創(chuàng)建強(qiáng)類型DataSet,用于將表、行和列作為強(qiáng)類型對象屬性公開。 |
| 答案 | IEnumerable 、 GetEnumerator |
| 答案 | Public 公有,其他類都可以訪問 ??? Protected 保護(hù),只有本類和子類可以訪問 ??? Private 私有,只有本類可以使用 ??? Internal 內(nèi)部,本程序集中的類可以使用。 |
| 答案 | 1.使用Url重寫QueryString, 如....?id=1; response. Redirect().... 3.使用Cookie 4.使用Server.Transfer 5.使用Button控件的PostBackUrl屬性 |
| 答案 | CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運(yùn)行庫。 |
| 答案 | 從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。 |
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代碼執(zhí)行完后,i=? ?j=?
| 答案 | i=13(i輸出的是字節(jié)數(shù),一個漢字占兩個字節(jié)),j=10(輸出字符數(shù),不分中英文) |
| 答案 | GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿詣舆M(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一: |
| 答案 | 接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。 |
| 答案 | 1)??????? 概述:自定義控件也是asp.net的一種服務(wù)器控件,體現(xiàn)格式為*.dll 2)??????? 適用場合:當(dāng).net平臺給我們提供的web服務(wù)器控件不夠用的時候,就需要我們自己開發(fā)一個自定義控件,或者又稱為第三方控件;可以把該種控件添加到工具箱中,然后就像使用Web服務(wù)器控件一樣。例如:分頁控件 3)??????? 在控件內(nèi)部公開屬性,通過給屬性賦值進(jìn)行數(shù)據(jù)的交互; 控件最終體現(xiàn)在界面上的樣式是靠重寫父類的Render方法來實(shí)現(xiàn)的 |
| 答案 | 字面意思就是:代碼在后面,也就是代碼隱藏的意思。 主要是通過aspx頁面指向?qū)?yīng)的CS文件,可以實(shí)現(xiàn)顯示邏輯和處理邏輯的分離,這樣做有別于以前的asp頁面和代碼全混在一起不容易后期的修改和維護(hù),使用code behind更容易維護(hù),美工和程序員可以很好的分工 |
| 答案 | ? 異常處理有兩種方法:一種是使用Try Catch處理,一種使用throw扔出 |
| 答案 | 1)表現(xiàn)層? 顯示數(shù)據(jù)和接受輸入 ?? 2)業(yè)務(wù)邏輯層? 用于進(jìn)行業(yè)務(wù)數(shù)據(jù)的處理 ?? 3)數(shù)據(jù)訪問層? 用于訪問數(shù)據(jù) ?? 4)實(shí)體層? 用于封裝數(shù)據(jù)傳遞的對象 |
| 答案 | Windows身份驗(yàn)證,基于Windows系統(tǒng)的用戶的認(rèn)證 Forms身份驗(yàn)證,基于Form表單的認(rèn)證 |
| 答案 | Class可以被實(shí)例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是分配在內(nèi)存的棧上的.Class可以被繼承,struct不可以被繼承 |
| 答案 | 手動建立Web服務(wù)代理, 利用開發(fā)環(huán)境建立Web服務(wù)代理 |
| 答案 | System.Xml命名空間包含了一些最重要的XML類,其中最主要的類是和XML文檔的讀寫操作相關(guān)的類。這些類中包括4個與讀相關(guān)的類以及2個與寫相關(guān)的類。它們分別是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter以及 XmlTextWriter。 XmlReader類是一個虛基類,它包含了讀XML文檔的方法和屬性。該類中的Read方法是一個基本的讀XML文檔的方法,它以流形式讀取XML文檔中的節(jié)點(diǎn)(Node)。另外,該類還提供了ReadString、ReadInnerXml、ReadOuterXml和ReadStartElement等更高級的讀方法。除了提供讀XML文檔的方法外,XmlReader類還為程序員提供了MoveToAttribute、MoveToFirstAttribute、MoveToContent、MoveToFirstContent、MoveToElement以及 MoveToNextAttribute等具有導(dǎo)航功能的方法。 XmlTextReader、XmlNodeReader以及XmlValidatingReader等類是從XmlReader類繼承過來的子類。根據(jù)它們的名稱,我們可以知道其作用分別是讀取文本內(nèi)容、讀取節(jié)點(diǎn)和讀取XML模式(Schemas)。 XmlWriter類為程序員提供了許多寫XML文檔的方法,它是XmlTextWriter類的基類,我在后面的實(shí)例中會給出相關(guān)的運(yùn)用方法。 XmlNode類是一個非常重要的類,它代表了XML文檔中的某個節(jié)點(diǎn)。該節(jié)點(diǎn)可以是XML文檔的根節(jié)點(diǎn),這樣它就代表整個XML文檔了。它是許多很有用的類的基類,這些類包括插入節(jié)點(diǎn)的類、刪除節(jié)點(diǎn)的類、替換節(jié)點(diǎn)的類以及在XML文檔中完成導(dǎo)航功能的類。同時,XmlNode類還為程序員提供了獲取雙親節(jié)點(diǎn)、子節(jié)點(diǎn)、最后一個子節(jié)點(diǎn)、節(jié)點(diǎn)名稱以及節(jié)點(diǎn)類型等的屬性。它的三個最主要的子類包括:XmlDocument、XmlDataDocument以及XmlDocumentFragment。XmlDocument類代表了一個XML文檔,它提供了載入和保存XML文檔的方法和屬性。這些方法包括了Load、LoadXml和Save等。同時,它還提供了添加特性(Attributes)、說明(Comments)、空間(Spaces)、元素(Elements)和新節(jié)點(diǎn)(New Nodes)等XML項(xiàng)的功能。XmlDocumentFragment類代表了一部分XML文檔,它能被用來添加到其他的XML文檔中。XmlDataDocument類可以讓程序員更好地完成和ADO.NET中的數(shù)據(jù)集對象之間的互操作。 |
| 答案 | RTTI:類型識別系統(tǒng)。 |
二、 程序題(前6題每題5分,第7題10分。共40分)
1.? 公司要求開發(fā)一個繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView各列列頭時,能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識,請簡要談一下您的思路。
| 答案 | 根據(jù)點(diǎn)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中。 |
2.? 根據(jù)委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:
namespaceTest
{
??? public delegate void OnDBOperate();
??? public class UserControlBase : System.Windows.Forms.UserControl
??? {
?????? public event OnDBOperate OnNew;
?????? privatevoidtoolBar_ButtonClick(objectsender,
System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
??? if(e.Button.Equals(BtnNew))
??? {
????? //請?jiān)谝韵卵a(bǔ)齊代碼用來調(diào)用OnDBOperate委托簽名的OnNew事件。
}
}
}
?? }
| 答案 | if( OnNew != null ) |
3.? 仔細(xì)閱讀下列代碼
using System;
class A
{
??? public A()
??? {
?????? PrintFields();
??? }
//類中定義了一個虛方法
??? public virtual void PrintFields(){}
}
//類B繼承自類A
class B:A
{
??? int x=1;
??? int y;
?? public B()
?? {
???? y=-1;
?? }
? public override void PrintFields()
?? {
???? Console.WriteLine("x={0},y={1}",x,y);
?? }
}
當(dāng)使用new B()創(chuàng)建B的實(shí)例時,產(chǎn)生什么輸出?
| 答案 | X=1,Y=0;x= 1 y = -1 |
4.? 寫出程序的輸出結(jié)果
class Class1?
{
?????? ???private string str = "Class1.str";
???????? ?private int i = 0;
?????? ???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()?
{
?????????? ???int i1 = 10;
???????????? ?int i2 = 20;
??????????? ??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);
?????? ?}?
??? }
| 答案 | (考查值引用和對象引用) |
5.? 用socket實(shí)現(xiàn)服務(wù)器端向客戶端傳遞幾個字符,在客戶端輸出
| 答案 | Using System.Net.Sockets; //啟動監(jiān)聽 TcpListener objLsn = new TcpListener(1000); objLsn.Start(); Socket objSocket = objLsn.AcceptSocket(); //發(fā)送 String msg = “測試發(fā)送”; Byte[] arr = System.Text.Encoding.Default.GetBytes(msg); objSocket.Send(arr); 參考:WinForm第八章Socket編程 |
6.? 寫出程序的輸出結(jié)果
public abstract class A?
{
??????? public A()?
?????? ?{
??????????? ?Console.WriteLine('A');
??????? }
??????? public virtual void Fun()?
?????? {
??????????? ?Console.WriteLine("A.Fun()");
??????? }
}
public class B: A?
{
??????? public B()
????? ??{
??????????? ?Console.WriteLine('B');
??????? }
??????? public new void Fun()?
?????? {
??????????? Console.WriteLine("B.Fun()");
??????? }
??????? public static void Main()?
????? ? {
?????????? A a = new B();
?????????? a.Fun();
??????? }
}
| 答案 | A |
7.? 程序設(shè)計(jì): 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)
要求:? 1.要有聯(lián)動性,老鼠和主人的行為是被動的。
2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動效應(yīng)。
| 答案 | 要點(diǎn):1. 聯(lián)動效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法。2. 對老鼠和主人進(jìn)行抽象
設(shè)計(jì)方法二: 使用event -- delegate設(shè)計(jì).. ??? } |
總結(jié)
以上是生活随笔為你收集整理的就业模拟试题_Net(答案)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安信用卡限额怎么修改
- 下一篇: 邮政5万无息贷款条例