public void AimAt(Observer obs)

{

this.observers.Add(obs);

}

public void Cry()

{

Console.WriteLine("Cat cryed!");

foreach (Observer obs in this.observers)

{

obs.Response();

}

}

}

class MainClass

{

static void Main(string[] args)

{

Cat cat = new Cat();

Mouse mouse1 = new Mouse("mouse1", cat);

Mouse mouse2 = new Mouse("mouse2", cat);

Master master = new Master(cat);

cat.Cry();

}

}

Cat cryed!

mouse1 attempt to escape!

mouse2 attempt to escape!

Host waken!

请按任意键继续. . .

写出程序的输出结果

using System;

class Program

{

private string str = "Class1.str";

private int i = 0;

static void StringConvert(string str)

{

str = "A string being converted.";

}

static void StringConvert(Program c)

{

c.str = "B string being converted.";

}

static void Add(int i)

{

i++;

}

static void AddWithRef(ref int i)

{

i++;

}

static void Main()

{

int i1 = 10;

int i2 = 20;

string str = "str";

Program c = new Program();

Add(i1);

AddWithRef(ref i2);

Add(c.i);

StringConvert(str); //string无法被改变

StringConvert(c);   //传递对象string可以被改变

Console.WriteLine(i1);

Console.WriteLine(i2);

Console.WriteLine(c.i);

Console.WriteLine(str);

Console.WriteLine(c.str);

}

}

运行结果:

10

21

0

str

B string being converted.

请按任意键继续. . .

写出程序的输出结果

using System;

public abstract class A

{

public A()

{

Console.WriteLine('A');

}

public virtual void Fun()

{

Console.WriteLine("A.Fun()");

}

}

public class B : A

{

public B()

{

Console.WriteLine('B');

}

public new void Fun()

{

Console.WriteLine("B.Fun()");

}

public static void Main()

{

A a = new B();

a.Fun();

}

}

运行结果:

A

B

A.Fun()

请按任意键继续. . .

有继承关系,在构造子类的时候会先构造父类;Fun函数在子类是被new了一下,只是显示隐藏,并没有重写,所以输出还是A.Fun()。如果子类是被override,则最后输出B.Fun

写出程序的输出结果

using System;

public class A

{

public virtual void Fun1(int i)

{

Console.WriteLine(i);

}

public void Fun2(A a)

{

a.Fun1(1);  //以传递进来的对象选择哪个Fun1

Fun1(5);    //以调用此方法的对象选择哪个Fun1

}

}

public class B : A

{

public override void Fun1(int i)

{

base.Fun1(i + 1);

}

public static void Main()

{

B b = new B();

A a = new A();

a.Fun2(b);

b.Fun2(a);

}

}

输出结果:

2

5

1

6

请按任意键继续. . .

冒泡排序

using System;

public class MainClass

{

public static void ArraySort()

{

int[] Arr = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };

int t = 0;

//从小到大排序

for (int i = 0; i < Arr.Length - 1; i++)            //总共需要N-1趟

{

for (int j = 0; j < Arr.Length - 1 - i; j++)    //每趟总共需要(N-1-趟数)次比较

{

if (Arr[j] > Arr[j + 1])

{

t = Arr[j];

Arr[j] = Arr[j + 1];

Arr[j + 1] = t;

}

}

}

foreach (int i in Arr)

{

Console.Write(i + ",");

}

}

public static void Main()

{

ArraySort();

}

}

输出:1,2,3,4,5,6,7,8,9,请按任意键继续. . .

写出程序的输出结果

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={0},Y={1}", A.X, B.Y);

}

}

输出结果:

X=1,Y=2

请按任意键继续. . .

在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。

在form中重载DefWndProc函数来处理消息:

protected override void DefWndProc(ref System.WinForms.Message m)

{

switch (m.msg)

{

case WM_Lbutton:

///string与MFC中的CString的Format函数的使用方法有所不同

string message = string.Format("收到消息!参数为:{0},{1}", m.wParam, m.lParam);

MessageBox.Show(message);///显示一个消息框

break;

case USER:

//处理的代码

default:

base.DefWndProc(ref m);///调用基类函数处理非自定义消息。

break;

}

}

请说明如下代码的结果

using System;

class Father

{

public virtual void show()

{

Console.WriteLine("Father");

}

static void Main(string[] args)

{

Father obj = new Child();

obj.show();

}

}

class Child : Father

{

public override void show()

{

Console.WriteLine("Child");

}

}

输出:

Child

请按任意键继续. . .

如果把virtual和override去掉,输出结果为Father

.net 常见面试题的更多相关文章

  1. java常见面试题及答案 1-10(基础篇)

    java常见面试题及答案 1.什么是Java虚拟机?为什么Java被称作是"平台无关的编程语言"? Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程.Java 源文件被 ...

  2. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

  3. 常见面试题之ListView的复用及如何优化

    经常有人问我,作为刚毕业的要去面试,关于安卓开发的问题,技术面试官会经常问哪些问题呢?我想来想去不能一股脑的全写出来,我准备把这些问题单独拿出来写,并详细的分析一下,这样对于初学者是最有帮助的.这次的 ...

  4. iOS常见面试题汇总

    iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...

  5. JDBC常见面试题

    以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...

  6. Mybatis常见面试题

    Mybatis常见面试题 #{}和${}的区别是什么? #{}和${}的区别是什么? 在Mybatis中,有两种占位符 #{}解析传递进来的参数数据 ${}对传递进来的参数原样拼接在SQL中 #{}是 ...

  7. JavaSE:数据类型之间的转换(附常见面试题)

    数据类型之间的转换 分为以下几种情况: 1)低级到高级的自动类型转换: 2)高级到低级的强制类型转换(会导致溢出或丢失精度): 3)基本类型向类类型转换: 4)基本类型向字符串的转换: 5)类类型向字 ...

  8. 整理的最全 python常见面试题(基本必考)

    整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...

  9. PHP常见面试题汇总(二)

    PHP常见面试题汇总(二)   //第51题:统计一维数组中所有值出现的次数?返回一个数组,其元素的键名是原数组的值;键值是该值在原数组中出现的次数 $array=array(4,5,1,2,3,1, ...

  10. java常见面试题及答案

    java常见面试题及答案 来源 https://blog.csdn.net/hsk256/article/details/49052293 来源 https://blog.csdn.net/hsk25 ...

随机推荐

  1. [LeetCode][Java] Substring with Concatenation of All Words

    题目: You are given a string, s, and a list of words, words, that are all of the same length. Find all ...

  2. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-为什么无法打开官方范例的项目,打开tszip文件时提示尝试越过结尾怎么办

    打开新的解决方案,找到tszip文件   提示错误Advanced Setting时越过结尾   到这里一般VS会卡死   但是我们已经可以得到解压出来的文件夹,其中包含PLC的完整项目文件夹,可以新 ...

  3. JSP语法学习笔记

    1.修改JSP页面模版:找到MyEclips安装目录,搜索“Jsp.vtl”,找到该文件修改编码,以及一些不需要用到的代码. 2.查找项目生成的Servlet文件路径:查看当前项目父级目录搜索 .me ...

  4. windows磁盘API实践

    API的列表如下,网上找的,我觉得还是蛮详细的: 磁盘和驱动器管理APIGetLogicalDrivers       获取主机中所有的逻辑驱动器,以BitMap的形式返回.GetLogicalDri ...

  5. C语言-二进制技巧

    打开位: flags = flags | MASK 要打开的位为 1 关闭位: flags = flags & ~MASK 要关闭的位为 1 转置位: flags = flags ^ MASK ...

  6. 关于cnblogs的排版

    cnblogs默认的样式实在让我无法接受.今天去看了看div+css的基本知识. 决定这周抄一个别人的排版,稍微改改. 不然,就这样式,实在没心情写博客. 写博客,这次准备要大干一场了.

  7. MySQL加速查询速度的独门武器:查询缓存

    [导读] 与朋友或同事谈到MySQL查询缓存功能的时候,个人喜欢把查询缓存功能Query Cache比作荔枝, 是非常营养的东西,但是一次性吃太多了,就容易上火而流鼻血,虽然不是特别恰当的比喻,但是有 ...

  8. JSON的String字符串与Java的List列表对象的相互转换

    1.JSON的String字符串与Java的List列表对象的相互转换 在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为jso ...

  9. linux 从百度网盘下载文件的方法

    linux 从百度网盘下载文件的方法 发表于2015 年 月 日由shenwang 方法1.wget wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括 ...

  10. iOS直播-播放基于RTMP协议的视频

    iOS直播-播放基于RTMP协议的视频 流媒体协议介绍 1. 伪流媒体: 渐进式下载 : 边下边存, 文件会保存 使用http协议,也能够实现视频播放, 也能快进快退等, 体验上跟流媒体很像. 优酷, ...