- .NET和C#有什么区别
- C#中的委托是什么?事件是不是一种委托?
- 简述 private、 protected、 public、internal 修饰符的访问权限。
- 方法重写与重载的区别
- 如果在一个B/S结构的系统中需要传递变量值请列举几种实现方式进行实现。
- 请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
- 请编程实现一个冒泡排序算法?
- 求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m
- 在下面的例子里 ...... 当使用new B()创建B的实例时,产生什么输出?
- CTS、CLS、CLR分别作何解释
- 什么是装箱和拆箱?
- 什么是强类型系统?
- 是否可以继承String类?
- NET中读写数据库需要用到那些类?他们的作用?
答:.Net一般指.Net Framework框架,是Microsoft为开发应用程序而创建的一个具有革命意义的平台
C#:运行在.NET(CLR)上的,用于创建应用程序的一种高级编程语言。
答:委托是一个类,可以把方法当做参数来传递的一种类型!事件是一个委托的实例!
答:
private:私有成员,在类的内部才可以访问
protected:保护成员,在类的内部和继承类中可以访问
public:公共成员,完全公开,没有访问限制
internal:当前程序集内可以访问
答:重载:一个类里面存在方法名称相同,参数个数或者参数类型不同,实则还是不同的方法。override:一般在继承之后,对父类的方法进行override,方法的参数个数,参数类型,必须和父类保持一致。
答:有三种方法
1.QueryString
例: default.aspx?id=1
2.FormsAuthentication
例:配置文件添加结点,利用FormsAuthentication 读取
3.this.Server.Transfer
服务器重定向
答:
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control;
tb.Text = String.Empty;
}
}
public static void main()
{
int[] array = new int[*];
int temp = 0;
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = i + 1; j < array.Length; j++)
{
if (array[j] < array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
int Num = 100;
int Sum = 0;
for (int i = 0; i < Num + 1; i++)
{
if ((i % 2) == 1)
{
Sum += i;
}
else
{
Sum = Sum - i;
}
}
Console.WriteLine(Sum.ToString());
Console.ReadLine();
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields() { }
}
class B : A
{
int x = 1;
int y;
public B()
{
y = -1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}", x, y);
}
}
当使用new B()创建B的实例时,产生什么输出? 答:x=1,y=0
答:
CTS: 即通用类型系统,它定义了如何在.NET Framework运行库中声明、使用和管理类型,同时也是.NET Framework运行库支持跨语言集成的一个重要组成部分。
CLS: 即公共语言规范,它是许多应用程序所需的一套基本语言功能。CLS 规则定义了通用类型系统的子集,即所有适用于公共类型系统的规则都适用于 CLS,除非 CLS 中定义了更严格的规则。CLS 通过定义一组开发人员可以确信在多种语言中都可用的功能来增强和确保语言的互用性。CLS 还建立了 CLS 遵从性要求,可帮助用户确定托管代码是否符合 CLS 以及一个给定的工具对托管代码(该代码是使用 CLS 功能的)开发的支持程度。
CLR: 即公共语言运行库,是.NET Framework 的基础,可以将其看作一个在执行时管理代码的代理,它提供了内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
答:装箱就是值类型转换为object类型,拆箱相反:object转化为值类型
答:所谓的强类型,指的是类型是明确的!
为了保证类型的明确性,强类型的语言的成员、变量必须声明明确的类型,而且要先声明后使用。像c#,c++等是强制类型定义的语言,所有变量先定义再使用,数据类型不可变等。
答:String类是final类故不可以继承。
答:
Connection 连接对象
用于对数据库的连接操作。传入的参数为连接字符串。
Commamd 命令对象
用于执行对数据库的操作 ,传入的参数可以为连接字符串或存储过程,也必须传入连接对象的实例。
SqlDataReader 数据读取对象
用于对数据的读取操作,实例.Read()方法可以返回一个True或者False来判断是否读取到了数据,我们可以直接使用 实例[“字段名称”]来取出读取到的数据。
DataSet 数据集对象
该对象类似于在内存中的多张虚拟的表,我们可以动态的添加行,列,数据,对数据库进行更新回传操作。
SqlDataAdapter 数据适配器对象
该对象可用于数据库的增删改差操作,一次性将读取到的内容加载到内存中,可以脱离连接进行操作,返回到一个DataSet对象
SqlDataReader和SqlDataAdapter读取数据的不同
DataReader 实现对数据的读取时需要连接着数据库,每次只能读取到一条数据,是一种只进流的读取,也就是当我读取到了一条数据,就只能接着读取下一条数据,不能再次读取这条数据了。
DataApater 实现对数据的读取时,是一次性将读取到的整张或多张表加载到内存中,比较消耗内存,不需要再连接着数据库。我们可以借助DataSet对象来将读取到的表加载到DataSet中,就像对表的操作一样,我们可以获取它的行和列来进行操作。