版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.面向?qū)ο蟮乃枷胫饕ㄊ裁矗?/p>
答:任何事物都可以理解為對(duì)象,其主要特征:繼承。封裝。多杰。特點(diǎn):代碼好維護(hù),平安,隱藏信息
2.什么是ASP.net中的用戶控件
答:擴(kuò)展名為*.ascx,跟*.aspx在結(jié)構(gòu)上相似,是指頁(yè)面中加載的功能塊,只是用戶控件不能單獨(dú)作為頁(yè)面運(yùn)行,
必須嵌入到*.aspx頁(yè)面或其它用戶控件中使用。
3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是直載?CTS、CLS
和CLR分別作何解釋?
答:應(yīng)用程序域?yàn)槠桨残?、可靠性、版本控制以及卸載程序集提供了隔離邊界。應(yīng)用程序域通常由運(yùn)行庫(kù)宿主創(chuàng)
立,運(yùn)行庫(kù)宿主負(fù)責(zé)在運(yùn)行應(yīng)用程序之前引導(dǎo)公共語(yǔ)言運(yùn)行庫(kù)。應(yīng)用程序域提供了一個(gè)更平安、用途更廣的處理
單元,公共語(yǔ)言運(yùn)行庫(kù)可使用該單元提供給用程序之間的隔離。
托管代碼為使用基于公共語(yǔ)言運(yùn)行庫(kù)的語(yǔ)言編譯器開(kāi)發(fā)的代碼稱為托管代碼;托管代碼具有許多優(yōu)點(diǎn),例如:跨
語(yǔ)言集成、跨語(yǔ)言異常處理、增強(qiáng)的平安性、版本控制和部署支持、簡(jiǎn)化的組件交互模型、調(diào)試和分析效勞等。
裝箱和拆箱使值類型能夠被視為對(duì)象。對(duì)值類型裝箱將把該值類型打包到Object引用類型的一個(gè)實(shí)例中。這使
得值類型可以存儲(chǔ)于垃圾回收堆中。拆箱將從對(duì)象中提取值類型。
事裁:每個(gè)類型成員都有一個(gè)唯一的簽名。方法簽名由方法名稱和一個(gè)參數(shù)列表(方法的參數(shù)的順序和類型)組
成。只要簽名不同,就可以在一種類型內(nèi)定義具有相同名稱的多種方法。當(dāng)定義兩種或多種具有相同名稱的方法
時(shí),就稱作重載。
CTS通用類型系統(tǒng)(commontypesystem):一種確定公共語(yǔ)言運(yùn)行庫(kù)如何定義、使用和管理類型的標(biāo)準(zhǔn)。
CLR公共語(yǔ)言運(yùn)行庫(kù):.NETFramework提供了一個(gè)稱為公共語(yǔ)言運(yùn)行庫(kù)的運(yùn)行時(shí)環(huán)境,它運(yùn)行代碼并提供使開(kāi)
發(fā)過(guò)程更輕松的效勞。
CLS公共語(yǔ)言標(biāo)準(zhǔn):要和其他對(duì)象完全交互,而不管這些對(duì)象是以何種語(yǔ)言實(shí)現(xiàn)的,對(duì)象必須只向調(diào)用方公開(kāi)那
些它們必須與之互用的所有語(yǔ)言的通用功能。為此定義了公共語(yǔ)言標(biāo)準(zhǔn)(CLS),它是許多應(yīng)用程序所需的一套根
本語(yǔ)言功能。
強(qiáng)類型:C#是強(qiáng)類型語(yǔ)言;因此每個(gè)變量和對(duì)象都必須具有聲明類型。
4.列舉一下你所了解的XML技術(shù)及其應(yīng)用
答:保存配置,站與站之間的交流,WEBSERVICEo以及與數(shù)據(jù)庫(kù)的數(shù)據(jù)交互等地方都要用它.
5.值類型和引用類型的區(qū)別?
答:基于值類型的變量直接包含值。將一個(gè)值類型變量賦給另一個(gè)值類型變量時(shí),將復(fù)制包含的童。這與引用類
型變量的賦值不同,引用類型變量的賦值只復(fù)制對(duì)對(duì)象的引用,而不復(fù)制對(duì)象本身。
所有的值類型均隱式派生自System.ValueType0
與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結(jié)構(gòu)也可以實(shí)現(xiàn)接口。
與引用類型不同,值類型不可能包含null值。然而,可空類型功能允許將null賦給值類型。
每種值類型均有一個(gè)隱式的默認(rèn)構(gòu)遁函數(shù)來(lái)初始化該類型的默認(rèn)值。
值類型主要由兩類組成:結(jié)構(gòu)、枚舉
結(jié)構(gòu)分為以下幾類:Numeric(數(shù)值)類型、整型、浮點(diǎn)型、decimal、book用戶定義的結(jié)構(gòu)。
引用類型的變量又稱為對(duì)象,可存儲(chǔ)對(duì)實(shí)際數(shù)據(jù)的引用。聲明引用類型的關(guān)鍵字:class、interface、delegate、
內(nèi)置引用類型:object、strin
6.ADO.net中常用的對(duì)象有哪些?分別描述一下。
答:
Connection翻開(kāi)數(shù)據(jù)庫(kù)連接
Command執(zhí)行數(shù)據(jù)庫(kù)命令
DataAdapter連接數(shù)據(jù),執(zhí)行數(shù)據(jù)庫(kù)命令,填充DataSet
DataSet數(shù)據(jù)在內(nèi)存中的緩存,數(shù)據(jù)結(jié)構(gòu)
DataReader只讀向前的讀取數(shù)據(jù)庫(kù)
7.如何理解委托?
答:
相當(dāng)于函數(shù)指針,定義了委托就可以在不調(diào)用原方法名稱的情況下調(diào)用那個(gè)方法.
委托具有以下特點(diǎn):
委托類似于C++函數(shù)指針,但它是類型平安的。
委托介許將方法作為參數(shù)進(jìn)行傳考。
委托可用于定義回調(diào)方法。
委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。
方法不需要與委托簽名精確匹配。有關(guān)更多信息,請(qǐng)參見(jiàn)協(xié)變和逆變。
C#2.0版引入了匿名方法的概念,比類方法允許將代碼塊作為參數(shù)傳遞,以代替單獨(dú)定義的方法。
8.C#中的接口和類有什么異同。
答:異:不能直接實(shí)例化接口。接口不包含方法的實(shí)現(xiàn)。接口、類和結(jié)構(gòu)可從多個(gè)接口繼承。但是C#只支持單
繼承:類只能從一個(gè)基類繼承實(shí)現(xiàn)。類定義可在不同的源文件之間進(jìn)行拆分。
同:接口、類和結(jié)構(gòu)可從多個(gè)接口繼承。接口類似于抽象基類:繼承接口的任何非抽象類型都必須實(shí)現(xiàn)接口的所
有成員。接口可以包含事件、索引器、方法和屬性。一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。
9.UDP連接和TCP連接的異同。
答:前者只管傳,不管數(shù)據(jù)到不到,無(wú)須建立連接.后者保證傳輸?shù)臄?shù)據(jù)準(zhǔn)確,須要連結(jié).
10.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?
答:Windows身份驗(yàn)證提供程序:提供有關(guān)如何將Windows身份瞼證與MicrosoftInternet信息效勞(IIS)
身份驗(yàn)證結(jié)合使用來(lái)確保ASP.NET應(yīng)用程序平安的信息。
Forms身份驗(yàn)證提供程序:提供有關(guān)如何使用您自己的代碼創(chuàng)立應(yīng)用程序特定的登錄窗體并執(zhí)行身份驗(yàn)證的信
息。使用Forms身份驗(yàn)證的一種簡(jiǎn)便方法是使用ASP.NET成員資格和ASP.NET登錄控件,它們一起提供了一
種只需少量或無(wú)需代碼就可以收集、驗(yàn)證和管理用戶憑據(jù)的方法。
Passport身份驗(yàn)證梃供程序:提供有關(guān)由Microsoft提供的集中身份驗(yàn)證效勞的信息,該效勞為成員站點(diǎn)提供
單一登錄和核心配置
11.進(jìn)程和線程分別怎么理解?
答:進(jìn)程和線程都是由操作系統(tǒng)所體會(huì)的程序運(yùn)行的根本單元,系統(tǒng)利用該根本單元實(shí)現(xiàn)系統(tǒng)對(duì)應(yīng)用的并發(fā)性。
進(jìn)程和線程的區(qū)別在于:
簡(jiǎn)而言之,一個(gè)程序至少有一個(gè)進(jìn)程.一個(gè)進(jìn)程至少有一個(gè)線程.
線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高。
另外,進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。
線程在執(zhí)行過(guò)程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。
但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。
從邏料角度來(lái)看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行局部可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒(méi)有將多個(gè)
線程看做多個(gè)獨(dú)立的應(yīng)用,來(lái)實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。
進(jìn)程是具有一定獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合上的一次運(yùn)行活動(dòng),進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)
立單位.
線程是進(jìn)程的一個(gè)實(shí)體,是CPU調(diào)度和分派的根本單位,它是比進(jìn)程更小的能獨(dú)立運(yùn)行的根本單位.線程自己根本
上不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源(如程序計(jì)數(shù)器,一組存放器和棧),但是它可與同屬一個(gè)
進(jìn)程的其他的線程共享進(jìn)程所擁有的全部資源.
一個(gè)線程可以創(chuàng)立和撤銷另一個(gè)線程;同一個(gè)進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行.
12.什么是code-Behind技術(shù)。
答:代碼別離,這是個(gè)明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫(xiě)在前臺(tái),C#代碼寫(xiě)在
后臺(tái).當(dāng)然前臺(tái)也有腳本,類的調(diào)用等,其實(shí)寫(xiě)在一起也是可以的.
13.解釋一下UDDI、WSDL的意義及其作用。
答:
UDDI:統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI,UniversalDescription,DiscoveryandIntegration)是一套基于
Web的、分布式的、為Web效勞提供的信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)標(biāo)準(zhǔn),同時(shí)也包含一組使企業(yè)能將自身提供的Web
效勞注冊(cè)以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI提供了一組基于標(biāo)準(zhǔn)的標(biāo)準(zhǔn)用于描述和發(fā)現(xiàn)效
勞,還提供了一組基于因特網(wǎng)的實(shí)現(xiàn)。
WSDL:WSDL描述Web效勞的公共接口。這是一個(gè)基于XML的關(guān)于如何與Web效勞通訊和使用的效勞描述;
14.什么是SOAP,有哪些應(yīng)用。
答:SOAP(SimpleObjectAccessProtocol)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)
程過(guò)程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)
議),可以允許任何類型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語(yǔ)言相互通信。
SOAP是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。SOAP利用XML技術(shù)定義一種可擴(kuò)展
的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這種框架的設(shè)計(jì)思想是要獨(dú)立于任何
一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義。
SOAP定義了一種方法以便將XML消息從A點(diǎn)傳送到B點(diǎn)。為此,它提供了一種基于XML且具有以下特性的
消息處理框架:1)可擴(kuò)展,2)可通過(guò)多種底層網(wǎng)絡(luò)協(xié)議使用,3)獨(dú)立于編程模型。
15.如何理解.net中的垃圾回收機(jī)制。
i++;
staticvoidMainO
(
intil=10;
inti2=20;
stringstr="str";
Classic=newClassi();
Add(il);
AddWithRef(refi2);
Add(c.i);
StringConvert(str);
StringConvert(c);
Console.Writel.ine(i1);
Console.WriteLine(i2);
Console.WriteLine(c.i):
Console.WriteLine(str);
Console.WriteLine(c.str);
}
)
答案(考查值引用和對(duì)象引用):10210strstringbeingconverted.
20.寫(xiě)出程序的輸出結(jié)果
publicabstractclassA
(
publicA()
(
Console.WriteLine('A');
}
publicvirtualvoidFun()
(
Console.WriteLine("A.Fun()");
)
)
publicclassB:A
publicB()
(
Console.WriteLinc('Br);
)
publicnewvoidFun()
(
Console.WriteLine("B.Fun()");
}
publicstaticvoidMainO
(
Aa=newB();
a.Fun();
)
}
答案(考查在繼承類中構(gòu)造函數(shù),以及new方法):ABA.Fun()
21.寫(xiě)出程序的輸出結(jié)果:
publicclassA
(
publicvirtualvoidFunl(inti)
(
Console.WriteLine(i);
)
publicvoidFun2(Aa)
(
a.Funl(1);
Funl⑸;
)
}
publicclassB:A
(
publicoverridevoidFunl(inti)
base.Funl(i+1);
publicstaticvoidMainO
Bb=newB();
Aa=newA();
a.Fun2(b);
b.Fun2(a);
}
)
答案:2516
22.一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34求第3()位數(shù)是多少,用遞歸算法實(shí)現(xiàn)。(C#語(yǔ)言)
答案:
publicclassMainClass
(
publicstaticvoidMainO
(
Console.WriteLine(Foo(30));
}
publicstaticintFoo(inti)
{
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFood_1)+Foo(i-2);
}
)
23.程序設(shè)計(jì):貓大叫一聲,所有的老鼠都開(kāi)始逃跑,主人被驚醒。(C#語(yǔ)言)
要求:L要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng)。
要點(diǎn):1.聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cc「ed()方法。2.對(duì)老鼠和主人進(jìn)行抽象
評(píng)分標(biāo)準(zhǔn):<1>.構(gòu)造出Cat、Mouse、Master三個(gè)類,并能使程序運(yùn)行(2分)
<2>從Mouse和Master中提取抽象(5分)
<3>聯(lián)動(dòng)效應(yīng),只要執(zhí)行Cat.Ci〉ed()就可以使老鼠逃跑,主人驚醒。(3分)
答案:
publicinterfaceObserver
voidResponse0;〃觀察者的響應(yīng),如是老鼠見(jiàn)到貓的反映
publicinterfaceSubject
(
voidAimAt(Observerobs);〃針對(duì)哪些觀察者,這里指貓的要撲捉的對(duì)象—老鼠
}
publicclassMouse:Observer
(
privatestringname;
publicMouse(stringname,Subjectsubj)
(
this,name=name;
subj.AimAt(this);
)
publicvoidResponse()
(
Console.WriteiJne(name+"attempttoescape!");
}
}
publicclassMaster:Observer
(
publicMaster(Subjectsubj)
(
subj.AimAt(this);
)
publicvoidResponse()
(
Console.WriteLine("Hostwaken!”);
)
)
publicclassCat:Subject
privateArrayListobservers:
publicCat()
this.observers=newArrayList();
}
publicvoidAimAt(Observerobs)
(
this,observers.Add(obs);
)
publicvoidCry()
(
Console.WriteLine("Catcryed!"):
foreach(Observerobsinthis,observers)
(
obs.Response():
}
}
}
classMainClass
(
staticvoidMain(string[]args)
(
Catcat=newCat();
Mousemouse1=newMouse("mouse1",cat);
Mousemouse2=newMouse("mouse2",cat);
Mastermaster=newMaster(cat):
cat.Cry();
}
)
//
設(shè)計(jì)方法二:使用event-delegate設(shè)計(jì)..
publicdelegatevoidSubEventHandler();
publicabstractclassSubject
publiceventSubEventHandlerSubEvent;
protectedvoidFireAway()
(
if(this.SubEvenl!=nul1)
this.SubEvent();
)
}
publicclassCat:Subject
(
publicvoidCry()
(
Console.WriteLine("catcryed."):
this.FireAway();
)
}
publicabstractclassObserver
(
publicObserver(Subjectsub)
(
sub.SubEvent+=newSubEventHandler(Response);
}
publicabstractvoidResponse():
)
publicclassMouse:Observer
(
privatestringname;
publicMouse(stringname.Subjectsub):base(sub)
(
this,neime=name;
}
publicoverridevoidResponse()
(
Console.WriteLine(name+“attempttoescape!");
}
publicclassMaster:Observer
publicMaster(Subjectsub):base(sub){}
publicoverridevoidResponse()
(
Console.WriteLine("hostwaken");
}
)
classClassi
(
staticvoidMain(string[]args)
(
Catcat=newCat();
Mousemouse1=newMouse("mouse1".cat):
Mousemouse2=newMouse("mouse2”,cat);
Mastermaster=newMaster(cat):
cat.Cry();
)
}
24、Gt中的委托是什么?事件是不是一種委托?
答案:委托是一個(gè)可以對(duì)方法進(jìn)行弓:用的類。與其他的類不同,委托類具有一個(gè)簽名,并且它只能對(duì)與其簽名匹
配的方法進(jìn)行引用。這樣,委托就等效于一個(gè)類型平安函數(shù)指針或一個(gè)回調(diào)。事件是一種委托。
25、接口和抽象類有什么區(qū)別?你選擇使用接口和抽象類的依據(jù)是什么?
答案:接口是一個(gè)純粹的抽象類,沒(méi)有任何實(shí)際的東西,只是定義了一個(gè)框架,而抽象類里面可以有實(shí)際的一個(gè)
方法,并不要求所有的方法都是抽象的??梢詫?shí)現(xiàn)一個(gè)接口中的所有方法,也可以繼承一個(gè)抽象的類,然后覆寫(xiě)
其中的方法。接口一般只有方法,而沒(méi)有數(shù)據(jù)成員或?qū)傩?。抽象類有方法,也有?shù)據(jù)成員或?qū)傩?,一般情況下,
優(yōu)先考慮用接口,只有當(dāng)可能要訪問(wèn)到數(shù)據(jù)成員或?qū)傩詴r(shí),用抽象類。
26、談?wù)刦inal,finally,finalize的區(qū)別。
答案:final修飾符用于指定類不能擴(kuò)展或者方法或?qū)傩圆荒苤貙?xiě),它將防止其他類通過(guò)重寫(xiě)重要的函數(shù)來(lái)更改
該類的行為。帶有final修飾符的方法可以由派生類中的方法來(lái)隱藏或重載。
finally塊用于去除在try塊中分配的任何資源。控制總是傳遞給finally塊,與try塊的存在方式無(wú)關(guān)。
finalize允許Object在“垃圾回收”回收Object之前嘗試釋放資源并執(zhí)行其他清理操作。
27.new有幾種用法
答案:第一種:newClass。;第二種:覆蓋方法publicnewXXXX(){};第三種:new約束指定泛型類聲明中的任何
類型參數(shù)都必須有公共的無(wú)參數(shù)構(gòu)造函數(shù)。
28.如何把一個(gè)array復(fù)制到arrayList里
答案:foreach(objectoinarray)arrayList.Add(o);
29.概述反射和序列化
答案:反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對(duì)
象。練可以使用反射動(dòng)態(tài)地創(chuàng)立類型的實(shí)例,將類型綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類型。然后,可以調(diào)
用類型的方法或訪問(wèn)其字段和屬性
序列化:序列化是將對(duì)象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^(guò)程。例如,可以序列化一個(gè)對(duì)象,然后使用HTTP通過(guò)
Internet在客戶端和效勞器之間傳輸該對(duì)象。在另一端,反序列化將從該流重新構(gòu)造對(duì)象。
30.用sealed修飾的類有什么特點(diǎn)
答案:sealed修飾符用于防止從所修飾的類派生出其它類。如果一個(gè)密封類被指定為其他類的基類,則會(huì)發(fā)生
編譯時(shí)錯(cuò)誤。密封類不能同時(shí)為抽象類。sealed修飾符主要用于防止非有意的派生,但是它還能促使某些運(yùn)行
時(shí)優(yōu)化。具體說(shuō)來(lái),由于密封類永遠(yuǎn)不會(huì)有任何派生類,所以對(duì)密封類的實(shí)例的虛擬函數(shù)成員的調(diào)用可以轉(zhuǎn)換為
非虛擬調(diào)用來(lái)處理。
31.執(zhí)行下面代碼后:
StringstrTernp=Mabcdefg某某某';
IntiSystem.Text.Encoding.Default.GetBytes(strTernp).Length;
Intj=strTernp.Length;
問(wèn):i=(14);j=(ll)
答案:i=(14);j=(ll)中文兩個(gè)字節(jié)
32.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫(xiě)出你所知道的意義?
答案:Using引入一個(gè)名子空間,或在使用了一個(gè)對(duì)像后自動(dòng)調(diào)生其IDcsposc,New實(shí)例化一個(gè)對(duì)像,或修飾
一個(gè)方法,表此方法完全重寫(xiě)此方法
33.在下面的例子里
usingSystem;
classA
(
publicA()
(
PrintFieldsO;
)
publicvirtualvoidPrintFieldsO{}
)
classB:A
(
intx=l;
inty;
publicB()
(
y=-l;
}
publicoverridevoidPrintFields()
(
Console.WriteiJne("x={0},y={1}**.x,y);
}
1
當(dāng)使用newB()創(chuàng)立B的實(shí)例時(shí),產(chǎn)生什么輸出?
答案:X=1,Y=O
34.下面的例子中
usingSystem;
classA
(
publicstaticintX;
staticA()
(
X=B.Y+l;
)
}
classB
(
publicstaticintY=A.X+l;
staticB(){}
staticvoidMainO
Console.WriteLineC'X=(O(,Y={1}".A.X,B.Y);
)
產(chǎn)生的輸出結(jié)果是什么?
答案:
x=l,y=2
35.談?wù)勵(lì)惡徒Y(jié)構(gòu)的區(qū)別?
答案:最大區(qū)別一個(gè)是引用類型,一個(gè)是值類型默認(rèn)成員訪問(wèn)為public是另外一個(gè)區(qū)別
36.一個(gè)長(zhǎng)度為10000的字符串,通過(guò)隨機(jī)從a-z中抽取10000個(gè)字符組成。請(qǐng)用c#語(yǔ)言編寫(xiě)主要程序來(lái)實(shí)現(xiàn)。
答案:
Randomr=newRandom();
StringBuildersb=newStringBuiIder(10000);
for(inti=0;i<10000;i++)
(
sb.Append((char)((int)1ar+r.Next(0,26)));
)
stringstr=sb.ToStringO;
37.什么叫做SQL注入,如何防止?請(qǐng)舉例說(shuō)明。
答案:SQL注入就是在正常的SQL執(zhí)行語(yǔ)句中惡意插入攻擊者想要運(yùn)行的sql語(yǔ)句。1.最根本的,不使用組合sql
的方法,而是通過(guò)使用命令參數(shù)方式來(lái)執(zhí)行命令,比方我們把sql改成這種方式:stringstrSql="select*from
[user]whereLoginNamc=@LoginNamcandPwd=@Pwd";,然后通過(guò)sqlcommand來(lái)執(zhí)行它,就可以從根本上解
決這個(gè)問(wèn)題。2.控制參數(shù)的長(zhǎng)度。因?yàn)橐脒M(jìn)行sql注入的話,需要一定長(zhǎng)度的字符串才能執(zhí)行,如果我們規(guī)定
LoginName的長(zhǎng)度最長(zhǎng)不超過(guò)8個(gè),一般不會(huì)造成損害,當(dāng)然這個(gè)只是在特殊的情況下司使用,比方有些情況可
能不能使用命令參數(shù)方式。
38.下面這段代碼輸出什么?為什么?
inti=5;
intj=5;
if(Object.ReferenceEquals(i,j))Console.WriteLine("Equal");
elseConsole.WritcLin。("NotEqual");
答案:NotEqual,因?yàn)橐玫牡刂凡煌?/p>
///////////////////////////////////////////////////////////
1.簡(jiǎn)述private>protectedxpublic、internal修飾符的訪問(wèn)權(quán)限。
答.private:私有成員,在類的內(nèi)部力可以訪問(wèn)。
protected:保護(hù)成員,該類內(nèi)部和繼承類中可以訪問(wèn)。
public:公共成員,完全公開(kāi),沒(méi)有訪問(wèn)限制。
internal:在同一命名空間內(nèi)可以訪問(wèn)。
2.列舉ASP.NET頁(yè)面之間傳遞值的幾種方式。
答.1).使用QueryString,如?id=l;response.Redirect()
2).使用Session變量
3).使用Server.Transfer
3.一列數(shù)的規(guī)則如下:1、1、2、3、5、8、13、21、34求第30位數(shù)是多少,用遞歸算法實(shí)現(xiàn)。
答:publicclassMainClass
(
publicstaticvoidMainO
(
Console.WriteLine(Foo(30));
}
publicstaticintFoo(inti)
(
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFoo(i-1)+Foo(i-2);
)
)
4.C#中的委托是什么?事件是不是一種委托?
答:委托可以把一個(gè)方法作為參教代入另一個(gè)方法。
委托可以理解為指向一個(gè)函數(shù)的引用。
是,是一種特殊的委托
5.override與重載的區(qū)別
答:override與重教的區(qū)別。重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進(jìn)行屢次重載以適應(yīng)不同的需
要override是進(jìn)行基類中函數(shù)的重寫(xiě)。為了適應(yīng)需要。
6.如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種
方法進(jìn)行處理?
答:QueryString.FormsAuthentication.this.Server.Transfer
7.請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?
答:
foreach(Controlcontrolinthis.Controls)
if(controlisTextBox)
TextBoxtb=(TextBox)control;
tb.Text=String.Empty;
)
}
8.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?
答:
int[]array=newint[?];
inttemp=0;
for(inti=0;i<array.Length-1;i++)
(
for(intj=i+1;j<array.Length;j++)
(
if(array[j]<array[i])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
)
9.播述一下C#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:可以用任意類型。
10.求以下表達(dá)式的值,寫(xiě)出您想到的一種或幾種實(shí)現(xiàn)方法:1-2+3-4+……+m
答:
intsum=0;
boolflag=true;
for(inti=l;i<=m;i++)
(
if(flag)
sum+=i;
else
sum-=i;
flag=!flag;
}
returnsum;
12.在下面的例子里
usingSystem;
classA
publicA()
(
PrintFieldsO;
}
publicvirtualvoidPrintFieldsO{}
}
classB:A
(
intxrl;
inty;
publicB()
(
y=-l:
}
publicoverridevoidPrintFields()
(
Console.WriteLine("x=(O},y={l)",x,y);
}
當(dāng)使用newB()創(chuàng)立B的實(shí)例時(shí),產(chǎn)生什么輸出?
答:X=1,Y=O
13.什么叫應(yīng)用程序域?
答:應(yīng)用程序域可以理解為一種輕量級(jí)進(jìn)程。起到平安的作用。占用資源小。
14.CTS、CLS、CLR分別作何解釋?
答:CTS:通用語(yǔ)言系統(tǒng)。CLS:通用語(yǔ)言標(biāo)準(zhǔn)。CLR:公共語(yǔ)言運(yùn)行庫(kù)。
15.什么是裝箱和拆箱?
答:從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。
16.什么是受管制的代碼?
答:unsafe:非托管代碼。不經(jīng)過(guò)CLR運(yùn)行。
17.什么是強(qiáng)類型系統(tǒng)?
答:RTTI:類型識(shí)別系統(tǒng)。
18.net中讀寫(xiě)數(shù)據(jù)庫(kù)需要用到那些類?他們的作用?
答:SqlConnection/OleDbConnection:建立數(shù)據(jù)庫(kù)的連接;
Sq1Command/01eDbCommand:執(zhí)行數(shù)據(jù)庫(kù)腳本。
21.在.net中,配件的意思是?
答:程序集。(中間語(yǔ)言,源數(shù)據(jù),資源,裝配清單)
22.常用的調(diào)用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
2.使用VS.NET中的AddWebReference菜單項(xiàng)選擇項(xiàng)
23..netRemoting的工作原理是什么?
答:效勞器端向客戶端發(fā)送一個(gè)進(jìn)程編號(hào),一個(gè)程序域編號(hào),以確定對(duì)象的位置。
29.根據(jù)線程平安的相關(guān)知識(shí),分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?并簡(jiǎn)要說(shuō)明理由。
publicvoidtest(inti)
(
lock(this)
(
if(i>10)
test(i);
}
)
}
答:不會(huì)發(fā)生死鎖,(但有一點(diǎn)int是按值傳遞的,所以每次改變的都只是一個(gè)副本,因此不會(huì)出現(xiàn)死鎖。但如
果把int換做一個(gè)object,那么死鎖會(huì)發(fā)生)
30.簡(jiǎn)要談一下您對(duì)微軟.NET構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用°
答:WS主要是可利用HTTP,穿透防火墻。而Remoting可以利用TCP/IP,二進(jìn)制傳送提高效率。
remoting是.net中用來(lái)跨越machine,process,appdomain進(jìn)行方法調(diào)用的技術(shù),對(duì)于三層結(jié)構(gòu)的程序,就可
以使用remoting技術(shù)來(lái)構(gòu)建.它是分布應(yīng)用的基礎(chǔ)技術(shù).相當(dāng)于以前的DCOMWebService是一種構(gòu)建應(yīng)用程序
的普通模型,并能在所有支持internet網(wǎng)通訊的操作系統(tǒng)上實(shí)施》WebService令基于組件的開(kāi)發(fā)和web的結(jié)
合到達(dá)最正確,基于組件的對(duì)象模型
31.公司要求開(kāi)發(fā)一個(gè)繼承System.Windows.Forms.ListView類的組件,要求到達(dá)以下的特殊功能:點(diǎn)擊ListView
名列列頭時(shí),能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行(排序的方式如DotaGrid相似)。根據(jù)您的知識(shí),
請(qǐng)簡(jiǎn)要談一下您的思路
答:根據(jù)點(diǎn)擊的列頭,包該列的名稱取出,按照該列名排序后,再綁定到LislView中。
32.給定以下XML文件,完成算法流程圖。
<>
<DriverC>
<DirDirName="MSD0S622”>
<二"Command.comw></File>
</Dir>
<="MSDOS.SYS"X/File>
<="IO.SYS"></Filc>
</DriverC>
</>
請(qǐng)畫(huà)出遍歷所有文件名O的流程圖(請(qǐng)使用遞歸算法)。
答:圖就不畫(huà)了,直接把程序?qū)懗鰜?lái):
PublicvoidDomDepthFirst(XmlNodecurrentNode)
(
XmlNodenode=currentNode.FirstChiId;
while(node!=null)
(
DomDepthFirst(node);
node=node.NextSibling;
)
if(node.Name二二"File")
(
Console.Write(((XmlElenient)node).GetAttribute(")+"\r\n");
}
}
35.能用foreach遍歷訪問(wèn)的對(duì)象需要實(shí)現(xiàn)接口或聲明方法的類型。
答:lEnumerable、GetEnumeratoro
36.GC是什么?為什么要有GC?
答:GC是垃圾收集器。程序員不用擔(dān)憂內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請(qǐng)求垃圾收集,可以調(diào)
用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
37.Strings=newString("xyz");創(chuàng)立了幾個(gè)StringObject?
答:兩個(gè)對(duì)象,一個(gè)是“xyz”,一個(gè)是指向“xyz”的引用對(duì)像s。
38.abstractclass和interface有什么區(qū)別?
答:
聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽像類(abstractclass),它用于要?jiǎng)?chuàng)立一個(gè)表達(dá)某些根本行為的類,
并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)立abstract類的實(shí)例。然而可以創(chuàng)立一個(gè)變量,
其類型是一個(gè)抽像類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽像構(gòu)造函數(shù)或抽像靜態(tài)方法。Abstract類的
子類為它們父類中的所有抽像方法提供實(shí)現(xiàn),否則它們也是抽像類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其
行為的其它類可以在類中實(shí)現(xiàn)這些方法。
接口-interface)是抽像類的變體,在接口中,所有方法都是抽像的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。
接口中的所有方法都是抽像的,沒(méi)有一個(gè)有程序體。接口只可以定義staticfinal成員變量。接口的實(shí)現(xiàn)與子
類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體拾予)所有這種
接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)像上調(diào)用接口的方法。由于有抽像類,之允許使用接口
名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanccof運(yùn)
算符可以用來(lái)決定某對(duì)象的類是否實(shí)現(xiàn)了接口。
39.啟動(dòng)一個(gè)線程是用run()還是start()?
答:?jiǎn)?dòng)一個(gè)線程是調(diào)用start。方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)
度并執(zhí)行。這并不意味著線程就會(huì)立即運(yùn)行。run。方法可以產(chǎn)生必須退出的標(biāo)志來(lái)停止一個(gè)線程。
40.接口是否可繼承接口?抽像類是否可實(shí)現(xiàn)(implements)接口?抽像類是否可繼承實(shí)體類(concreteclass)?
答:造函數(shù)接口可以繼承接口。抽像類可以實(shí)現(xiàn)(implements)接口,抽像類是否可繼承實(shí)體類,但前提是實(shí)體類
必須有明確的結(jié)構(gòu)。
41.構(gòu)造器Constructor是否可被override?
答:構(gòu)造器Constructor不能被繼承,因此不能重寫(xiě)Overriding,但可以被重載Overloading。
42.是否可以繼承Siring類?
答:String類是final類故不可以繼承。
44.兩個(gè)對(duì)像值相同(x.equals(y)==true),但卻可有不同的hasncode,這句話對(duì)不對(duì)?
答:不對(duì),有相同的hashcode。
45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(exprl)中,exprl是一個(gè)整型,字符或字符串,因此可以作用在byte和long上,也可以作用在
string上。
47.當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?
不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問(wèn)。
48.abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
答:都不能。
49.List,Set,Map是否繼承自Collection接口?
答:List,Set是Map不是
5().Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢?是用;還是equals。?它們有何區(qū)別?
答:Set里的元素是不能重復(fù)的,那么用iterator。方法來(lái)區(qū)分重復(fù)與否。equals。是判讀兩個(gè)Set是否相等。
64即15()和=方法決定引用值是否指向同一對(duì)像equals。在類中被覆蓋,為的是當(dāng)兩個(gè)別離的對(duì)象的內(nèi)容和類
型相配的話,返回真值。
51.數(shù)組有沒(méi)有l(wèi)ength。這個(gè)方法?String有沒(méi)有l(wèi)ength()這個(gè)方法?
答:數(shù)組和string都沒(méi)有Length。方法,只有Length屬性。
52.sleep()和wait()有什么區(qū)別?
答:sleep。方法是將當(dāng)前線程掛起指定的時(shí)間。
wait。釋放對(duì)象上的鎖并阻塞當(dāng)前線程,直到它重新獲取該鎖。
53.shortsi=1;si=si+1;有什么錯(cuò)?shortsi=1;si+=1;有什么錯(cuò)?
答:shortsi=1;si=si+1;有錯(cuò),si是short型,sl+1是int型,不能顯式轉(zhuǎn)化為shorr型。可修改為
si=(short)(si+1)oshortsi=1;si+=1正確。
54.談?wù)刦inal,finally,finalize的區(qū)別。
答:
final一修飾符(關(guān)鍵字)如果一個(gè)類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。
因此一個(gè)類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們?cè)?/p>
使用中不被改變。被聲明為final的變量必須在聲明時(shí)給定初值.而在以后的引用中只能讀取,不可修改。被
聲明為final的方法也同樣只能使用,不能重載
finally一再異常處理時(shí)提供finally塊來(lái)執(zhí)行任何去除操作。如果拋出一個(gè)異常,那么相匹配的catch子句
就會(huì)執(zhí)行,然后控制就會(huì)進(jìn)入finally塊(如果有的話)。
finalize一方法名。Java技術(shù)允許使用finalize。方法在垃圾收集器將對(duì)像從內(nèi)存中去除出去之前做必要的
清理工作。這個(gè)方法是由垃圾收集器在確定這個(gè)對(duì)象沒(méi)有被引用時(shí)對(duì)這個(gè)對(duì)象調(diào)用的。它是在Object類中定
義的,因此所有的類都繼承了它。子類覆蓋finalizeO方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize。
方法是在垃圾收集器刪除對(duì)像之前對(duì)這個(gè)對(duì)象調(diào)用的。
55.如何處理幾十萬(wàn)條并發(fā)數(shù)據(jù)?
答:用存儲(chǔ)過(guò)程或事務(wù)。取得最大標(biāo)識(shí)的時(shí)候同時(shí)更新..注意主鍵不是自增量方式這種方法并發(fā)的時(shí)候是不會(huì)有
重復(fù)主鍵的..取得最大標(biāo)識(shí)要有一個(gè)存儲(chǔ)過(guò)程來(lái)獲取.
56.Session有什么重大BIG,微軟提出了什么方法加以解決?
答:是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會(huì)喪失,可以用Sateserver或SQLServer數(shù)據(jù)庫(kù)
的方式存儲(chǔ)Session不過(guò)這種方式比較慢,而且無(wú)法捕獲Session的END事件。
57.進(jìn)程和線程的區(qū)別?
答:站程是系統(tǒng)進(jìn)行咨源分配和調(diào)度的單位:線程是CPU調(diào)度和分派的單位,一個(gè)濟(jì)程可以有多個(gè)線程,這些線
程共享這個(gè)進(jìn)程的資源。
58.堆和棧的區(qū)別?
答:棧是編譯期間就分配好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是程序運(yùn)行期間動(dòng)態(tài)
分配的內(nèi)存空間,你可以根據(jù)程序的運(yùn)行情況確定要分配的堆內(nèi)存的大小
59.成員變量和成員函數(shù)前加static的作用?
答:它們被稱為常成員變量和常成員函數(shù),又稱為類成員變量和類成員函數(shù)。分別用來(lái)反映類的狀態(tài)。比方類成
員變量可以用來(lái)統(tǒng)計(jì)類實(shí)例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計(jì)的動(dòng)作。
60.ASPoNET與ASP相比,主要有哪些進(jìn)步?
答:asp解釋形,aspx編譯型,性能提高,可以跟美工的工作分開(kāi)進(jìn)行,更有利于團(tuán)隊(duì)開(kāi)發(fā)。
61.產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為10(),并向其中隨機(jī)插入1T00,并且不能重復(fù)。
int[]intArr=newint[100];
ArrayListmyList=ncwArrayList();
Randomrnd=newRandom();
while(myList.Count<100)
intnum=rnd.Next(1,101);
if(ImyList.Contains(num))
myList.Add(num);
}
for(inti=0;i<100;i++)
intArr[i]=(int)myList[i];
62.請(qǐng)說(shuō)明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說(shuō)出他們的優(yōu)缺點(diǎn)。
答:session(viewstate)簡(jiǎn)單,但易喪失
application全局
cookie簡(jiǎn)單,但可能不支持,可能被偽造
url參數(shù)簡(jiǎn)單,顯示于地址欄,長(zhǎng)度有限
數(shù)據(jù)庫(kù)穩(wěn)定,平安,但性能相對(duì)弱
63.請(qǐng)指出GAC的含義?
答:全局程序集緩存。
64.向效勞器發(fā)送請(qǐng)求有幾種方式?
答:get,postoget一般為鏈接方式,post一般為按鈕方式。
65.DataReader與Dataset有什么區(qū)別?
答:一個(gè)是只能向前的只讀游標(biāo),一個(gè)是內(nèi)存中的表。
66.軟件開(kāi)發(fā)過(guò)程一般有幾個(gè)階段?每個(gè)階段的作用?
答:需求分析,架構(gòu)設(shè)計(jì),代碼編寫(xiě),QA(質(zhì)量工程師),部署
67.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫(xiě)出你所知道的意義?using指令和語(yǔ)句new創(chuàng)立實(shí)例
new隱藏基類中方法。
答:using引入名稱空間或者使用非托管資源
new新建實(shí)例或者隱藏父類方法
68.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保存
一個(gè)空格,即允許字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可超過(guò)一個(gè).
答:stringinputStr=*'xxxx";
inputStr=Regex.Replace(inputS:r.TrimO,礦\s+","");
69.下面這段代碼輸出什么?為什么?
inti=5;
intj=5;
if(Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("NotEqualn);
答:不相等,因?yàn)楸容^的是對(duì)像
7().什么叫做SQL注入,如何防止?請(qǐng)舉例說(shuō)明。
答:利用sql語(yǔ)言漏澗獲得合法身份登陸系統(tǒng)。如身份驗(yàn)證的程序設(shè)計(jì)成:
SqlCoranandcom=ncwSq1Command("Select*fromuserswhereuscrname=*w+t_namc.tcxt+H,and
pwd=r"+t_pwd.text+"'");
objectobj=com.ExcuteScale();
if(obj!=null)
(
//通過(guò)驗(yàn)證
)
這段代碼容易被sql注入。如用戶在t_name中隨便輸入,在t_pwd中輸入1'and1=,1就可以進(jìn)入系統(tǒng)了。
71.什么是反射?
答:動(dòng)態(tài)獲取程序集信息
72.用Singleton如何寫(xiě)設(shè)計(jì)模式
答:static屬性里面new,構(gòu)造函教private
73.什么是ApplicationPool?
答:W此應(yīng)用,類似ThreadPool,提高并發(fā)性能。
74.什么是虛函數(shù)?什么是抽像函數(shù)?
答:虛函數(shù):可由子類繼承并重寫(xiě)的函數(shù)。抽像函數(shù):規(guī)定其非虛子類必須實(shí)現(xiàn)的函數(shù),必須被重寫(xiě)。
75.什么是XML?
答:XML即可擴(kuò)展標(biāo)記語(yǔ)言。extensibleMarkupLanguage.標(biāo)記是指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)
記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,即可以選擇國(guó)際通用的標(biāo)記語(yǔ)言,比方
HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標(biāo)記語(yǔ)言,這就是語(yǔ)言的可擴(kuò)展性。XML是從SGML中簡(jiǎn)化
修改出來(lái)的。它主要用到的有XML、XSL和XPath等。
77.什么是ASP.net中的用戶控件?
答:用戶控件一般用在內(nèi)容多為好態(tài),或者少許會(huì)改變的情況下..用的比較大..類似ASP中的include..但是功
能要強(qiáng)大的多。
78.列舉一下你所了解的XML技術(shù)及其應(yīng)用
答:xml用于配置,用于保存靜態(tài)數(shù)據(jù)類型.接觸XML最多的是webServices..和config,soap協(xié)議
79.ADD.net中常用的對(duì)象有哪些?分別描述一下。
答:Connection數(shù)據(jù)庫(kù)連接對(duì)像
Command數(shù)據(jù)庫(kù)命令
DataReader數(shù)據(jù)讀取器
DataSet數(shù)據(jù)集
80.什么是code-Behind技術(shù)。
答:ASPX.RESX和CS三個(gè)后綴的文件,這個(gè)就是代碼別離.實(shí)現(xiàn)了HTML代碼和效勞器代碼別離.方便代碼編寫(xiě)和
整理.
81.什么是SOAP,有哪些應(yīng)用。
答:SOAP(SimpleObjectAccessProtocol)簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)
程過(guò)程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)
議),可以允許任何類型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語(yǔ)言相互通信。這種相互通信采用的是XML
格式的消息。
SOAP也被稱作XMLP,為兩個(gè)程序交換信息提供了一種標(biāo)準(zhǔn)的工作機(jī)制。在各類機(jī)構(gòu)之間通過(guò)電子方式相互協(xié)作
的情況下完全有必要為此制定相應(yīng)的標(biāo)準(zhǔn)。
SOAP描述了把消息捆綁為XML的工作方式。它還說(shuō)明了發(fā)送消息的發(fā)送方、消息的內(nèi)容和地址以及發(fā)送消息的
時(shí)間。SOAP是WebService的根本通信協(xié)議。SOAP標(biāo)準(zhǔn)還定義了怎樣用XML來(lái)描述程序數(shù)據(jù)(ProgramData),
怎樣執(zhí)行RPC(RemoteProcedureCall)。大多數(shù)SOAP解決方案都支持RPC-stylc應(yīng)用程序。SOAP還支持
Document-style應(yīng)用程序(SOAP消息只包含XML文本信息)。
最后SO.AP標(biāo)準(zhǔn)還定義了HTTP消息是怎樣傳輸SOAP消息的。MSMQ、SMTP.TCP/IP都可以做SOAP的傳輸協(xié)議。
SOAP是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。SOAP利用XMI,技術(shù)定義一種可擴(kuò)展
的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這種框架的設(shè)計(jì)思想是要獨(dú)立于任
何一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義。
SOAP定義了一種方法以便將XML消息從A點(diǎn)傳送到B點(diǎn)。為此,它提供了一種基于XML且具有以下特性的
消息處理框架:1)可擴(kuò)展,2)可通過(guò)多種底層網(wǎng)絡(luò)協(xié)議使用,3)獨(dú)立于編程模型。
82.C#中property與attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
答:一個(gè)是屬性,用于存取類的字段,一個(gè)是特性,用來(lái)標(biāo)識(shí)類,方法等的附加性質(zhì)
83.XML與HTML的主要區(qū)別
答:1.XML是區(qū)分大小寫(xiě)字母的,HTML不區(qū)分。
2.在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略<川》或者</li>之類的結(jié)
束標(biāo)記。在XML中,絕對(duì)不能省略掉結(jié)束標(biāo)記。
3.在XML中,擁有單個(gè)標(biāo)記而沒(méi)有匹配的結(jié)束標(biāo)記的元素必須用一個(gè)/字符作為結(jié)尾。這樣分析器就知道不用
查找結(jié)束標(biāo)記了。
4.在XML中,屬性值必須分裝在引號(hào)中。在HTML中,引號(hào)是可用可不用的。
5.在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應(yīng)的值。
84.c#中的三元運(yùn)算符是?
答:?:。
85.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)像時(shí),整數(shù)a將會(huì)被?
答:裝箱。
86.類成員有種可訪問(wèn)形式?
答:this.;newClass().Method;
87.publicstaticconstintA=1;這段代碼有錯(cuò)誤么?是什么?
答:const不能用static修飾。
88.floatf=-123.567F;inti=(in:)f;i的值現(xiàn)在是?
答:T23。
89.委托聲明的關(guān)鍵字是?
答:delegate.
91.在Asp.net中所有的自定義用戶控件都必須繼承自?
答:Controlo
92.在.Net中所有可序列化的類都被標(biāo)記為_(kāi)__?
答:[serializable]
93.在.Net托管代碼中我們不用擔(dān)憂內(nèi)存漏洞,這是因?yàn)橛辛薩___?
答:GCo
94.下面的代碼中有什么錯(cuò)誤嗎?_____
usingSystem;
classA
(
publicvirtualvoidF(){
Console.WriteLine("A.F");
)
)
abstractclassB:A
(
publicabstractoverridevoidF();答:abstractoverride是不可以一起修飾.
}//newpublicabstractvoidF();
95.當(dāng)類T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,—可以—(可以or不可以)從T派生出
新的類,不可以—(可以or不可以)直接創(chuàng)立T的任何實(shí)例。
答:不可以,不可以。
96.下面這段代碼有錯(cuò)誤么?
switch(i){
case0:答://case。條件不能為空
CaseZero();
break;
caseI:
CaseOneO;
break;
case2:
dufault;答:〃wrong,格式不正確
CascTivoO;
break;
97.在.Net中,類System.Web.UI.Page可以被繼承么?
答:可以。
98..net的錯(cuò)誤處理機(jī)制是什么?
答:.net錯(cuò)誤處理機(jī)制采用try->catch->finally結(jié)構(gòu),發(fā)生錯(cuò)誤時(shí),層層上拋,直到找到匹配的Catch為止。
99.利用operator聲明且僅聲明了==,有什么錯(cuò)誤么?
答:要同時(shí)修改Equale和GelHashO?重載了―就必須重載"!="
104.某一密碼僅使用K、L、M、N、。共5個(gè)字母,密碼中的單詞從左向右排列,密碼單詞必須遵循如下規(guī)則:
(1)密碼單詞的最小長(zhǎng)度是兩個(gè)字母,可以相同,也可以不同
(2)K不可能是單詞的第一個(gè)字母
(3)如果L出現(xiàn),則出現(xiàn)次數(shù)不止一次
(4)M不能使最后一個(gè)也不能是倒數(shù)第二個(gè)字母
(5)K出現(xiàn),則N就一定出現(xiàn)
(6)0如果是最后一個(gè)字母,則L一定出現(xiàn)
問(wèn)題一:以下哪一個(gè)字母可以放在L0中的0后面,形成一個(gè)3個(gè)字母的密碼單詞?
A)KB)LC)MD)N
答案:B
問(wèn)題二:如果能得到的字母是K、L、M,那么能夠形成的兩個(gè)字母長(zhǎng)的密碼單詞的總數(shù)是多少?
A)1個(gè)B)3個(gè)C)6個(gè)D)9個(gè)
答案:A
問(wèn)題三:以下哪一個(gè)是單詞密碼?
A)KI.LNB)LOMLC)MLLOD)NMKO
答案:C
8.62-63=1等式不成立,請(qǐng)移動(dòng)一個(gè)數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,如何移動(dòng)?
答案:62移動(dòng)成2的6次方
105.對(duì)于這樣的一個(gè)枚舉類型:
enumColor:byte
{
Red,
Green,
Blue,
Orange
}
答:stringF]ss=Enum.GetNamos(typeof(Color));
byte[]bb=Enum.GetValues(typeof(Color));
106.C#中property與attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
答:attribute:自定義屬性的基類;property:類中的屬性
1()7.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?
答:在.net下,.net引用了垃圾回收(GC)功能,它將代了程序員不過(guò)在C#中,不能直接實(shí)現(xiàn)finalize方法,
而是在析構(gòu)函數(shù)中調(diào)用基類的Finalize。方法
108.ADOoNET相對(duì)于ADO等主要有什么改良?
答:Lado.net不依賴于oledb提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持動(dòng)態(tài)游標(biāo)和
效勞器端游4:,可以斷開(kāi)connection而保存當(dāng)前數(shù)據(jù)集可用5:強(qiáng)類型轉(zhuǎn)換6:xml支持
109.寫(xiě)一個(gè)HTML頁(yè)面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁(yè)面時(shí)顯示“您好",右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2
分鐘后自動(dòng)關(guān)閉頁(yè)面。
答:<script***script>
setTineout('window,close();',3000);
functionsho\v()
(
if(window.event,button==1)
(
alert("左");
}
elseif(window,event,button==2)
(
alert("右");
)
}
</script>
110.大概描述一下ASP。NET效勞器控件的生命周期
答:初始化加載視圖狀態(tài)處理回發(fā)數(shù)據(jù)加載發(fā)送回發(fā)更改通知處理回發(fā)事件預(yù)呈現(xiàn)保存狀態(tài)呈現(xiàn)處置
卸載
111.AnonymousInnerClass(匿名內(nèi)部類)是否
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 請(qǐng)叉車合同范本
- 底商租賃協(xié)議書(shū)
- 惠華社區(qū)協(xié)議書(shū)
- 裝飾拆遷合同范本
- 小說(shuō)閱讀協(xié)議書(shū)
- 2025黑龍江省中醫(yī)藥科學(xué)院哈爾濱市南崗區(qū)曲線社區(qū)衛(wèi)生服務(wù)中心招聘婦保醫(yī)生1人考試重點(diǎn)題庫(kù)及答案解析
- 責(zé)任權(quán)利協(xié)議書(shū)
- 銷售石料合同范本
- 展會(huì)費(fèi)合同范本
- 巡邏補(bǔ)貼協(xié)議書(shū)
- 2025年二級(jí)建造師繼續(xù)教育考試題庫(kù)及答案
- 泵站、水閘混凝土施工實(shí)施細(xì)則
- (一模)2025年嘉興市2026屆高三教學(xué)測(cè)試思想政治試卷(含答案)
- 招生地推團(tuán)隊(duì)培訓(xùn)大綱
- 2023年秦皇島輔警招聘考試真題及答案詳解(新)
- 暖通工程調(diào)試及試運(yùn)行總結(jié)報(bào)告
- 2025年廣西公需科目試題1卷
- 2026屆高考一輪復(fù)習(xí)全5冊(cè)課內(nèi)作文素材
- 鋼軌探傷工勞動(dòng)安全培訓(xùn)課件
- 《勸學(xué)》課件+2025-2026學(xué)年統(tǒng)編版高一語(yǔ)文必修上冊(cè)
- 紅樓夢(mèng)史湘云講解
評(píng)論
0/150
提交評(píng)論