Net软件工程师面试题 联系客服

发布时间 : 星期三 文章Net软件工程师面试题更新完毕开始阅读8c21bad403020740be1e650e52ea551810a6c988

} }

输出结果为: 2 5 1 6

(一个函数的执行必须在一个具体的对象中实现,如果函数明确告诉是哪个对象,则在改该对象下执行;如果没有,则在默认的对象下执行) 4. 在下面的例子里 using System; class A {

public A() {

PrintFields(); }

public virtual void PrintFields(){} }

class B:A {

int x=4; int y; public B() { y=-1; }

public override void PrintFields() {

x += 1;

Console.WriteLine(\ y += 1; }

当使用B b = new B()创建的实例时,产生什么输出?b. PrintFields();结果是什么?

X=5,y=0

b. PrintFields 结果是x=6;y=1

5. 下面的例子中

using System; class A {

public static int X; static A()

{

X=B.Y+1; }

} class B {

public static int Y=A.X+1; static B() { }

static void Main()

{

Console.WriteLine(\ } }

产生的输出结果是什么? X=2,Y=1

五.程序设计(每题7分,共28分) 1. 请编程实现一个冒泡排序算法?

//比较法 using System;

using System.Collections.Generic; using System.Text;

namespace test1 {

class Program

{

static void Main(string[] args) {

int[] Array ={ 6,18,12,23,19,28,30}; Console.WriteLine(\排序前的数组:\); foreach(int n in Array) {

Console.Write(n+\); }

Console.WriteLine();

for (int i = 1; i < Array.Length; i++) //控制趟数

{

for (int j = 0; j < Array.Length - i; j++)

{

if (Array[j] > Array[j + 1]) //交换

{

int temp = Array[j]; Array[j] = Array[j + 1]; Array[j + 1] = temp; } } } //排序后

Console.WriteLine(\排序后的数组:\); for (int n = 0; n < Array.Length; n++) {

Console.Write(Array[n] + \); }

Console.WriteLine(); } } }

2. 编程程序实现委托,事件。

using System;

using System.Collections.Generic; using System.Text;

namespace delegateDemo {

class Program {

static void Main(string[] args) {

Cat cat = new Cat(); Mouse mouse = new Mouse(); Master master = new Master(); cat.Calling += new EventHandler(mouse.Escape); cat.Calling += new EventHandler(master.Wakened); cat.Call(); } }

public sealed class Cat //猫类 {

public event EventHandler Calling; public void Call() {

Console.WriteLine(\猫开始叫了……\);

if(Calling!=null) //检查事件是否被注册

Calling(this,EventArgs.Empty);//调用事件注册的方法

} }

public sealed class Mouse //老鼠类 {

public void Escape(object sender, EventArgs e)