C#Aspnet面试题(100道)
1.水仙花数
三位正整数、153=1~3 + 5~3+3~3
For(int i=100; i<1000; i++)
{
Int bai = 0;
Int shi = 0;
Int ge = 0;
Int baiYushu = 0;
bai=i/100;
baiYushu=i%100;
shi = baiYushu /10;
ge = baiYushu % 10;
if(i== bai*bai*bai + shi*shi*shi+ge*ge*ge)
{
Response.Write(“水仙花数:”+i+”
”);
}
}
2. 斐波数列::::递归
1,1,2,3,5,8,13,21,……….
private int Fun_Feibo(int intN)
{
int intResult = 0;
if(intN==1)
{
intResult = 1;
}
else
{
if(intN==2)
{
intResult = 1;
}
else
{
//这里需要递归
intResult = Fun_Feibo(intN-2)+Fun_Feibo(intN-1);
}
}
return intResult;
}
3.C#中的委托是什么?事件是不是一种委托?
委托,顾名思义,就是中间代理人的意思。
[可以把一个方法作为参数代入另一个方法]
委托可以理解为指向一个函数的引用,【指向函数的指针】
是,是一种特殊的委托
//1.声明委托
//delegate void(int,string) deleName(参数列表);
//2.声明方法
//修饰符返回类型方法名(参数列表)
// {
// 方法体;
// }
//3 创建委托对象,指向所希望包含方法
//deleName objDele = new deleName(具体的方法名);
//4, 委托对象调用包含在其中的各个方法
//objDele(实参);
//1.声明委托, 放到类类边,并且和方法平行,并且不能有【委托体】(不能带一对花括号)
delegate int deleTwoInt(int a, int b);
//2.声明方法
public string Add(int m, int n)//参数签名:参数个数、参数类型、参数顺序:返回类型不能构成重载
{
return m+n;
}
public int Surplus(int m, int n)
{
return m-n;
}
//3 创建委托对象,指向所希望包含方法
int a = 10;
int b = 3;
deleTwoInt dele = new deleTwoInt(Add);
//4, 委托对象调用包含在其中的各个方法
Response.Write(dele(a,b)+'
');
4.重载,覆盖===》多态
A overload
【方法的签名】:参数个数+参数类型+参数顺序
返回类型不能构成重载
B override, virtual
子类覆盖父类中对应的虚函数
C,override与overload的区别
a.overload在同一个类里,不同的【方法签名】
b.override在不同的类里边,并且这两个类存在继承关系,并且子类的方法要覆盖父类的同签名的方法,
c.overload是多个方法、override是一个方法
d. 继承的时候,子类首先继承父类的构造方法
Override的时候,首先继承父类的构造方法,如果构造方法调用了虚函数,那么紧接着调用子类的覆盖方法
然后,才进入子类的构造方法
5.列举www./doc/05cc5d5fc1c708a1294a4437.html 页面之间传递值的几种方式。
A.post, Request.Params[“上一个页面控件的Name”]
Request.Params[“txtName”]
Html?aspx, aspx?aspx
B.get, Request.QueryString[“参数名”]
abc.aspx?id=xxx&name=zhangsan, Request.QueryString[“id”]
C. 如何在不改变url的情况下转到另一个页面
Server.Transfer(“目的url”, true);
只能是: apsx?aspx
令数组全部的值为0Request.Form[“上一个页面控件的ID,属性名,公共方法名”]
D. Session, Application, Cookie, 多个页面之间共享【变量】,
webForm1:
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox lblName;
//公共属性
public string Time
{
get{return DateTime.Now.ToString();}
}
//公共方法
public string TestFun()
{
return 'Function of WebForm1 Called';
}
WebForm2:
string strTxt='';
WebForm1 oForm=(WebForm1)this.Context.Handler;
strTxt+='文本框1:'+Request.Form['TextBox1'] +'
';
strTxt+='Time Property:'+oForm.Time +'
';
//strTxt+='Context String:'+Context.Items['Context'].ToString() +'
';
strTxt += '姓名:'+Request.Form['lblName'].Trim()+'
';
strTxt+=oForm.TestFun() +'
';
Literal1.Text =strTxt;
6.请说明Cookie和Session的区别
A Cookie是客户端的,Session是服务器端的
B, Session是真正面向对象的概念,它可以存储任何数据类型

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。