天天看点

C#经典面试题及答案 (3)

13:大概描述一下ASP。NET服务器控件的生命周期

答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载

14:程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求:  1.要有联动性,老鼠和主人的行为是被动的。

           2.考虑可扩展性,猫的叫声可能引起其他联动效应。

C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
Code
C#经典面试题及答案 (3)
public interface Observer
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
{
C#经典面试题及答案 (3)
        void Response();    //观察者的响应,如是老鼠见到猫的反映
C#经典面试题及答案 (3)
    }
C#经典面试题及答案 (3)
    public interface Subject
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        void AimAt(Observer obs);  //针对哪些观察者,这里指猫的要扑捉的对象---老鼠
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
    public class Mouse : Observer
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        private string name;
C#经典面试题及答案 (3)
        public Mouse(string name, Subject subj)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
{           
C#经典面试题及答案 (3)
            this.name = name;
C#经典面试题及答案 (3)
            subj.AimAt(this);
C#经典面试题及答案 (3)
        }
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        public void Response()
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            Console.WriteLine(name + " attempt to escape!";
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
    public class Master : Observer
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
{   
C#经典面试题及答案 (3)
        public Master(Subject subj)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            Console.WriteLine("Host waken!";
C#经典面试题及答案 (3)
        }  
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
    public class Cat : Subject
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        private ArrayList observers;
C#经典面试题及答案 (3)
        public Cat()
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            this.observers = new ArrayList();
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        public void AimAt(Observer obs)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            this.observers.Add(obs);
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        public void Cry()
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            Console.WriteLine("Cat cryed!";
C#经典面试题及答案 (3)
            foreach (Observer obs in this.observers)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
                obs.Response();
C#经典面试题及答案 (3)
            }
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
    class MainClass
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
{       
C#经典面试题及答案 (3)
        static void Main(string[] args)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            Cat cat = new Cat();
C#经典面试题及答案 (3)
            Mouse mouse1 = new Mouse("mouse1", cat);
C#经典面试题及答案 (3)
            Mouse mouse2 = new Mouse("mouse2", cat);
C#经典面试题及答案 (3)
            Master master = new Master(cat);
C#经典面试题及答案 (3)
            cat.Cry();
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
       下面的程序运行后:
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
class Program
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            Class1 o1 = new Class1();
C#经典面试题及答案 (3)
            Class1 o2 = new Class1();
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
    class Class1
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        private static int count = 0;
C#经典面试题及答案 (3)
        static Class1()
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
            count++;
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
        public Class1()
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)
C#经典面试题及答案 (3)

请问,o1.Count的值是多少?( C )

A.1         B.2             C.3             D.4

解答:class1在实例化的时候,先运行静态构造函数,然后运行实例构造函数,第二次实例化的时候,由于静态构造函数已经存在,所有直接实例化,它们都共享静态变量count.

(1)用于对静态字段、只读字段等的初始化。  
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。
(5)如果类中包含用来开始执行的 Main 方法,则该类的静态构造函数将在调用 Main 方法之前执行。
    任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。
(6)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。

    C#取系统时间的方法

string a= DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss");

            string b = DateTime.Now.ToString("M/d/yyyy hh:mm:ss tt");

            string c = DateTime.Now.ToString("M.d.yyyy hh-mm-ss-tt");

            string d = DateTime.Now.ToString("M.d.yyyy hh.mm.ss tt");

            string ee = DateTime.Now.ToString("M.d.yyyy.hh.mm.ss.tt");

            string f = DateTime.Now.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo);

            string g = DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss", System.Globalization.DateTimeFormatInfo.InvariantInfo);

     简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用 

     答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

     求f=1*2*4*8*16*32*64*128*256

     方法一:利用位运算:

     long sum = 1;

for (int i = 1; i < 9; i++)

    sum *= 1 << i;

}

      方法二:利用循环:

   int m = 1,s=1; 

            for (int i = 0; i < 9; i++) 

            { 

                s = m * 1; 

                for (int j = 0; j < i; j++) 

                { 

                    m = m * 2; 

                } 

            }

         上个月的最后一天       

         这是一个计算上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql     Server中时间是精确到3毫秒。这就是为什么我需要减去3毫秒来获得我要的日期和时间。      

                SELECT  dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()), 0))  

继续阅读