天天看點

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))  

繼續閱讀