答.private(不能修饰类):私有成员,在类的内部才可以访问。
protected(不能修饰类):保护成员,该类内部和继承类中可以访问。
public:公共成员,完全公开,没有访问限制。
internal:在同一程序集内可以访问,一般情况下指的就是是同一项目内。
protectedinternal(只能修饰类的内部成员,不能修饰类)类的内部,子类中,或是同一程序集内可见
(一个类[包括接口,结构体,枚举,委托]上可以使用的访问修饰符有:public,internal默认的值是internal)
内部成员的默认级别
class:private
enum:public
interface(接口):public
struct(数据类型)结构,结构体:private
答.
一、QueryString
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。
这种方法的优点:1.使用简单,对于安全性要求不高时传递数字或是文本值非常有效。这种方法的缺点:1.缺乏安全性,由于它的值暴露在浏览器的URL地址中的。2.不能传递对象。
使用方法:1.在源页面的代码中用需要传递的名称和值构造URL地址。2.在源页面的代码用Response.Redirect(URL);重定向到上面的URL地址中。3.在目的页面的代码使用Request.QueryString["name"];取出URL地址中传递的值。
例子:(1)a.aspx
privatevoidPage_Load(objectsender,EventArgse){Label2.Text=Request.QueryString["name"];}
二、Session
想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
优点:1.使用简单,不仅能传递简单数据类型,还能传递对象。2.数据量大小是不限制的。
缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源。
2.容易丢失。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(OrObject)";
2.在目的页面的代码使用Session变量取出传递的值。Result=Session["Nmae"]
注意:session不用时可以销毁它,销毁的方法是:清除一个:Session.Remove("session名");
清除所有:Session.Clear();
privatevoidButton1_Click(objectsender,System.EventArgse){Session["name"]=Label.Text;}(2)b.aspx
privatevoidPage_Load(objectsender,EventArgse){stringname;name=Session["name"].ToString();}
三、Cookie
与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。
优点:1.使用简单,是保持用户状态的一种非常常用的方法。比如在购物网站中用户跨多个页面表单时可以用它来保持用户状态。
缺点:1.常常被人认为用来收集用户隐私而遭到批评。
2.安全性不高,容易伪造。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Cookie对象:
HttpCookieobjCookie=newHttpCookie("myCookie","Hello,Cookie!");Response.Cookies.Add(cookie);2.在目的页面的代码使用Cookie对象取出传递的值:Result=Request.Cookies["myCookie"].Value;
privatevoidButton1_Click(objectsender,System.EventArgse){HttpCookieobjCookie=newHttpCookie("myCookie","Hello,Cookie!");Response.Cookies.Add(objCookie);}(2)b.aspx
stringmyName1Value;myName1Value=Request.Cookies["myCookie"].Value;
四、Application
Application对象的作用范围是整个全局,也就是说对所有用户都有效。它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取。它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量。
可能有人会问,既然所有用户都可以使用application变量,那他可以用在什么场合呢?这里举个例子:网站访问数。多个请求访问时都可以对它进行操作。
优点:1.使用简单,消耗较少的服务器资源。
2.不仅能传递简单数据,还能传递对象。
3.数据量大小是不限制的。
缺点:1.作为全局变量容易被误操作。所以单个用户使用的变量一般不能用application。
使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Application变量:Application["Nmae"]="Value(OrObject)";
2.在目的页面的代码使用Application变量取出传递的值。Result=Application["Nmae"]
注意:常用lock和unlock方法用来锁定和解锁,为了防止并发修改。
privatevoidButton1_Click(objectsender,System.EventArgse){Application["name"]=Label1.Text;}(2)b.aspx
五、Server.Transfer
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通过Context.Handler来获得前一个页面传递的各种数据类型的值、表单数据、QueryString.由于重定向完全在服务器端完成,所以客户端浏览器中的URL地址是不会改变的。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
ps:比较Server.Transfer和Response.Redirect的区别。(1)Server.Transfer在服务器端完成,所以客户端浏览器中的URL地址是不会改变的;Response.Redirect是客户端完成,向服务器端提出新的页面处理请求,所以客户端浏览器中的URL地址是会改变的。(2)Server.Transfer在服务器端完成,不需要客户端提出请求,减少了客户端对服务器端提出请求。[2](3)Server.Transfer只能够转跳到本地虚拟目录指定的页面,也就是工程项目中的页面,而Response.Redirect则十分灵活,可以跳转到任何URL地址。(4)Server.Transfer可以将前一个页面的各种类型的值传到新的页面;Response.Redirect则只能借助URL中带参数或是结合上面四种办法把各种类型的值传到新的页面。
优点:1.直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求。
2.可以传递各种数据类型的值和控件的值。
缺点:1.客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的图片、超链接都会导致错误的指向。
使用方法:1.在源页面的代码中,使用Page类的Server.Transfer跳到另一个页面传递页面数据:Server.Transfer("b.aspx","false")。
2.在目的页面中,使用Context.Handler来接收数据:FormerPageformerPage=(FormerPage)Context.Handler;然后用formerPage的属性和方法来获取前一个页面的值,或者直接用Context.Items["myParameter"]
答:publicclassMainClass
{
publicstaticvoidMain()
Console.WriteLine(Foo(30));
}
publicstaticintFoo(inti)
if(i<=0)
return0;
elseif(i>0&&i<=2)
return1;
elsereturnFoo(i-1)+Foo(i-2);
答:
C#的委托是CTS(公共类型系统)规定的5中类型之一(类类型、结构类型、接口类型、枚举类型、委托类型)。它类似于c或c++中的函数的指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。委托是存在有对某个方法的引用的一种引用类型变量(也就是委托类型),引用可在运行是被修改。
所以事件的实现依赖于委托,但事件并非是委托的一种。
有三种方法1.QueryString例:default.aspxid=12.FormsAuthentication例:配置文件添加结点,利用FormsAuthentication读取3.this.Server.Transfer服务器重定向
foreach(System.Windows.Forms.Controlcontrolinthis.Controls){if(controlisSystem.Windows.Forms.TextBox){System.Windows.Forms.TextBoxtb=(System.Windows.Forms.TextBox)control;tb.Text=String.Empty;}}
或者
foreach(Controlcinthis.controls)
if(cisTextBox)//其他控件只需简单修改即可,方法类似
TextBoxtb=(TextBox)c;
tb.Text=String.empty;
上边的方法只是针对于c/s模式的
如果要针对于web开发中怎么实现呢?
首先.aspx文件一定会包含一个:
由此:
foreach(System.Web.UI.Controlctlinthis.Form.Controls){Response.Write(ctl.ToString()+"
");if(ctlisSystem.Web.UI.WebControls.TextBox){System.Web.UI.WebControls.TextBoxtb=(System.Web.UI.WebControls.TextBox)ctl;tb.Text=string.Empty;}}
此处需要注意的是:System.Web.UI.Control表示:web界面上的所有的控件,包括html控件和服务器端控件。
具体表现是:
System.Web.UI.LiteralControl此控件在页面上是:System.Web.UI.HtmlControls.HtmlInputText此控件在页面上是:
那么,如果我想限定只遍历服务器端的控件怎么办?
foreach(System.Web.UI.WebControls.WebControlctlinthis.Form.Controls){
问题就来了,因为this.Form.Controls这个集合是包括html控件和服务器控件的,那么在遍历时,html控件转换不了服务器控件,就报错了:
无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.WebControl”。
然而,this.Form没有WebControl属性,也就无法区分开来。
那么,如果我用this.Controls或者this.Page.Controls那么结果又是如何呢?
这样一来是获取整个页面的,那么他是不会包含页面控件的子控件的。
输出结果是:
System.Web.UI.HtmlControls.HtmlHeadSystem.Web.UI.LiteralControlSystem.Web.UI.HtmlControls.HtmlForm
所有,在遍历页面元素时,最好要知道元素块,同时获得的控件集也是评级的控件。(可以递归遍历全部控件:利用控件的HasControls属性)
1staticvoidMain(string[]args)2{3inttemp;4int[]shuju=newint[10]{12,43,2,34,87,54,32,16,67,49};5for(inti=0;i 答:不是。可以用任意类型。 1classProgram2{3publicstaticvoidMain()4{5Compute(101);6ComputerTwo(101);7ComputerThr(101);8Console.ReadLine();910}1112//第一种:循环13publicstaticvoidCompute(intMax)14{15intresult=0;1617for(inti=1;i<=Max;i++){18if(i%2!=0)19{20result+=i;21}22else{23result-=i;24}25}2627Console.WriteLine(result);28}2930//第二种:(1-2)+(3-4)+...31publicstaticvoidComputerTwo(intmax){3233intresult=0;3435if(max%2==0)36{37result=(max/2)*(-1);38}39else{40result=((max+1)/2)*(-1)+max+1;41}4243Console.WriteLine(result);44}45//第三种46publicstaticvoidComputerThr(intmax){47intresult=0;4849if(max%2==1)50{51result=(max+1)/2;52}53else{54result=(max+1+1)/2-(max+1);55}5657Console.WriteLine(result);58}59} 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。 优点:分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点:增加成本。 usingSystem; classA publicA() PrintFields(); publicvirtualvoidPrintFields(){} classB:A intx=1; inty; publicB() y=-1; publicoverridevoidPrintFields() Console.WriteLine("x={0},y={1}",x,y); 当使用newB()创建B的实例时,产生什么输出? 答:X=1,Y=0;x=1y=-1 答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。 答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。 答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。 答:unsafe:非托管代码。不经过CLR运行。 答:RTTI:类型识别系统。 答:DataSet:数据存储器。 DataCommand:执行语句命令。 DataAdapter:数据的集合,用语填充。 答:10。Windwos(默认)用IIS...From(窗体)用帐户....Passport(密钥) 答:代码后植。 答:程序集。(中间语言,源数据,资源,装配清单) 答:1.使用WSDL.exe命令行工具。 2.使用VS.NET中的AddWebReference菜单选项 答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。 答:stringstr=null是不给他分配内存空间,而stringstr=""给它分配长度为空字符串的内存空间。 答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的. namespacetest {-----------------------+- publicdelegatevoidOnDBOperate(); publicclassUserControlBase:System.Windows.Forms.UserControl publiceventOnDBOperateOnNew; privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgse) if(e.Button.Equals(BtnNew)) //请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。 答:if(OnNew!=null) OnNew(this,e); 27.分析以下代码,完成填空 stringstrTmp="abcdefg某某某"; inti=System.Text.Encoding.Default.GetBytes(strTmp).Length; intj=strTmp.Length; 以上代码执行完后,i=j= 答:i=13,j=10 答:SelectIDFROMtable1WhereLastUpdateDate=(SelectMAX(LastUpdateDate)FROMtable1) publicvoidtest(inti) lock(this) if(i>10) i--; test(i); 答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生) 答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中。 请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。 voidFindFile(Directoryd) FileOrFolders=d.GetFileOrFolders(); foreach(FileOrFolderfofinFileOrFolders) if(fofisFile) YouFoundafile; elseif(fofisDirectory) FindFile(fof); 答:解1:selecttop10*fromAwhereidnotin(selecttop30idfromA) 解2:selecttop10*fromAwhereid>(selectmax(id)from(selecttop30idfromA)asA) 答:封装、继承、多态。 答:IEnumerable、GetEnumerator。 答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。 答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。 答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。 答:String类是final类故不可以继承。 答:会执行,在return前执行。 答:不对,有相同的hashcode。 答:switch(expr1)中,expr1是一个整数表达式。因此传递给switch和case语句的参数应该是int、short、char或者byte。long,string都不能作用于swtich。 不能,一个对象的一个synchronized方法只能由一个线程访问。 答:都不能。 答:List,Set是Map不是 答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。 equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。 答:数组没有length()这个方法,有length的属性。String有有length()这个方法。 (b)正在运行的线程因为其它原因而阻塞。 答:shorts1=1;s1=s1+1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1=(short)(s1+1)。shorts1=1;s1+=1正确。 finally—再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。 finalize—方法名。Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取. 答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sateserver或SQLServer数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。 答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。 栈:先进先出 堆:先进后出 答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。 答:asp解释形,aspx编译型,性能提高,有利于保护源码。 1int[]intArr=newint[100];23ArrayListmyList=newArrayList();45Randomrnd=newRandom();67while(myList.Count<100)89{1011intnum=rnd.Next(1,101);1213if(!myList.Contains(num))1415myList.Add(num);1617}1819for(inti=0;i<100;i++)2021intArr[i]=(int)myList[i]; 答:session(viewstate)简单,但易丢失 application全局 cookie简单,但可能不支持,可能被伪造 inputttype="hidden"简单,可能被伪造 url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱 答:全局程序集缓存。 答:get,post。get一般为链接方式,post一般为按钮方式。 答:一个是只能向前的只读游标,一个是内存中的表。 答:需求分析,架构设计,代码编写,QA,部署 答:using引入名称空间或者使用非托管资源 new新建实例或者隐藏父类方法 stringinputStr=”xxxx“; inputStr=inputStr.Trim(); inputStr=Regex.Replace(inputStr.Trim(),”{2,}”,”“); 注:Replace的第二个参数的”{2,}”前有一个空格,第三个参数是一个空格,表示,出现了2个或多个空格时将其替换成1个空格 inti=5; intj=5; if(Object.ReferenceEquals(i,j)) Console.WriteLine("Equal"); else Console.WriteLine("NotEqual"); 答:不相等,因为比较的是对象 答:利用sql关键字对网站进行攻击。过滤关键字’等 答:动态获取程序集信息 答:static属性里面new,构造函数private 73.什么是ApplicationPool? 答:Web应用,类似ThreadPool,提高并发性能。 答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。 答:WebService便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。 UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。 答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多。 答:xml用于配置,用于保存静态数据类型.接触XML最多的是webServices..和config 答:Connection数据库连接对象 Command数据库命令 DataReader数据读取器 DataSet数据集 答:ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理. 答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质 答:1.XML是区分大小写字母的,HTML不区分。 2.在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略
3.在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/字符作为结尾。这样分析器就知道不用查找结束标记了。
4.在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。
5.在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。
答:?:。
语法为:条件表达式?表达式1:表达式2
答:装箱。
答:this.;newClass().Method;
publicprivateprotectedinternalprotectedinternal
答:const不能用static修饰。
答:-123。
答:delegate.
答:密封,不能继承。
答:Control。
答:[serializable]
答:GC。
publicvirtualvoidF(){
Console.WriteLine("A.F");
abstractclassB:A
publicabstractoverridevoidF();答:abstractoverride是不可以一起修饰.
}//newpublicabstractvoidF();
答:不可以,不可以。
switch(i){
case():答://case()条件不能为空
CaseZero();
break;
case1:
CaseOne();
case2:
dufault;答://wrong,格式不正确
CaseTwo();
答:可以。
答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
答:要同时修改Equale和GetHash()重载了"=="就必须重载"!="
答:在form中重载DefWndProc函数来处理消息:
protectedoverridevoidDefWndProc(refSystem.WinForms.Messagem)
switch(m.msg)
caseWM_Lbutton:
///string与MFC中的CString的Format函数的使用方法有所不同
stringmessage=string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
caseUSER:
处理的代码
default:
base.DefWndProc(refm);///调用基类函数处理非自定义消息。
答:privatevoidForm1_Closing(objectsender,System.ComponentModel.CancelEventArgse)
e.Cancel=true;
答:一个是退出整个应用程序,一个是关闭其中一个form。
答:System.Globalization.CultureInfoMyCulture=newSystem.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfoMyCulture=newSystem.Globalization.CultureInfo("en-GB");为英国货币类型
decimaly=9999999999999999999999999999m;
stringstr=String.Format(MyCulture,"Myamount={0:c}",y);
(1)密码单词的最小长度是两个字母,可以相同,也可以不同
(2)K不可能是单词的第一个字母
(3)如果L出现,则出现次数不止一次
(4)M不能使最后一个也不能是倒数第二个字母
(5)K出现,则N就一定出现
(6)O如果是最后一个字母,则L一定出现
A)KB)LC)MD)N
答案:B
A)1个B)3个C)6个D)9个
答案:A
A)KLLNB)LOMLC)MLLOD)NMKO
答案:C
答案:62移动成2的6次方
enumColor:byte
Red,
Green,
Blue,
orange
答:string[]ss=Enum.GetNames(typeof(Color));
byte[]bb=Enum.GetValues(typeof(Color));
答:attribute:自定义属性的基类;property:类中的属性
答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的Finalize()方法
答:1:ado.net不依赖于oledb提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持动态游标和服务器端游4:,可以断开connection而保留当前数据集可用5:强类型转换6:xml支持
答:
setTimeout(’window.close();’,3000);
functionshow()
if(window.event.button==1)
alert("左");
elseif(window.event.button==2)
alert("右");
答:初始化加载视图状态处理回发数据加载发送回发更改通知处理回发事件预呈现保存状态呈现处置卸载
答:不能,可以实现接口
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.
答:shorts1=1;s1=s1+1;(s1+1运算结果是int型,需要强制转换类型)
shorts1=1;s1+=1;(可以正确编译)
答:Overloaded的方法是可以改变返回值的类型。
答:error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
答:<%#%>表示绑定的数据源
<%%>是服务器端代码块
答:1ASP.NET2.0把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.
2同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有在分离的代码文件,无法在页面嵌入服务器端代码获得帮助提示,
3代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢
4在绑定数据,做表的分页.Update,Delete,等操作都可以可视化操作,方便了初学者
5在ASP.NET中增加了40多个新的控件,减少了工作量
答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
答:null是没有空间引用的;
""是空间为0的字符串;
答:i=13.j=10
publicstaticvoidtest(stringConnectString)
System.Data.OleDb.OleDbConnectionconn=newSystem.Data.OleDb.OleDbConnection();
conn.ConnectionString=ConnectString;
try
conn.Open();
…….
catch(ExceptionEx)
MessageBox.Show(Ex.ToString());
finally
if(!conn.State.Equals(ConnectionState.Closed))
conn.Close();
请问
1)以上代码可以正确使用连接池吗?
答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。
2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?
答:只可以捕捉数据库连接中的异常吧.(finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。)
答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中
答:WSE(WebServiceExtension)包来提供最新的WEB服务安全保证,目前最新版本2.0。