C#面試基礎問題

來源:互聯網
上載者:User
English Version: http://dflying.dflying.net/1/archive/104_c_basic_interview_questions.html

如果你的簡曆上面寫“熟悉/瞭解C#”,那麼你就應該能夠回答下面的這些基礎問題。我將給出自己的簡要答案以供參考。歡迎討論。
如果是“精通”,那麼請參考:http://www.cnblogs.com/dflying/archive/2006/04/01/364458.html

  1. 傳入某個屬性的set方法的隱含參數的名稱是什嗎?
    value,它的類型和屬性所聲名的類型相同。
  2. 如何在C#中實現繼承?
    在類名後加上一個冒號,再加上基類的名稱。
  3. C#支援多重繼承嗎?
    不支援。可以用介面來實現。
  4. 被protected修飾的屬性/方法在何處可以訪問?
    在繼承或間接繼承與這個類的子類中可以訪問。
  5. 私人成員會被繼承嗎?
    會,但是不能被訪問。所以看上去他們似乎是不能被繼承的,但實際上確實被繼承了。
  6. 請描述一下修飾符protected internal
    被protected internal修飾的屬性/方法只能在它的在同一個程式集(Assembly)中的子類被訪問。
  7. C#提供一個預設的無參數建構函式,當我實現了另外一個有一個參數的建構函式時候,還想保留這個無參數的建構函式。這樣我應該寫幾個建構函式?
    兩個,一旦你實現了一個建構函式,C#就不會再提供預設的建構函式了,所以需要手動實現那個無參數建構函式。
  8. C#中所有對象共同的基類是什嗎?
    System.Object.
  9. 重載和覆寫有什麼區別?
    重載提供了對一個方法簽名的不同參數調用的實現。覆寫提供了子類中改變父類方法行為的實現。
  10. 在方法定義中,virtual有什麼含意?
    被virtual修飾的方法可以被子類覆寫。
  11. 能夠將非靜態方法覆寫成靜態方法嗎?
    不能,覆寫方法的簽名必須與被覆寫方法的簽名保持一致,除了將virtual改為override。
  12. 可以覆寫私人的虛方法嗎?
    不可以,甚至子類中無法訪問父類中的私人方法。
  13. 能夠阻止某一個類被其他類繼承嗎?
    可以,使用關鍵字sealed。
  14. 能夠實現允許某個類被繼承,但不允許其中的某個方法被覆寫嗎?
    可以,標記這個類為public,並標記這個方法為sealed。
  15. 什麼是抽象類別(abstract class)?
    一種不可以被執行個體化的類。抽象類別中一般含有抽象方法,當然也可有具體實現。繼承類只有實現過所有抽象類別的抽象方法後才能被執行個體化。
  16. 何時必須聲明一個類為抽象類別?
    當這個類中包含抽象方法時,或是該類並沒有完全實現父類的抽象方法時。
  17. 介面(interface)是什嗎?
    只含有共有抽象方法(public abstract method)的類。這些方法必須在子類中被實現。
  18. 為什麼不能指定介面中方法的修飾符?
    介面中的方法用來定義對象之間通訊的契約,指定介面中的方法為私人或保護沒有意義。他們預設為公有方法。
  19. 可以繼承多個介面嗎?
    當然。
  20. 那麼如果這些介面中有重複的方法名稱呢?
    這種情況中你可以決定如何?。當然需要特別得小心。但是在編譯環節是沒有問題的。
  21. 介面和抽象類別的區別是什嗎?
    介面中所有方法必須是抽象的,並且不能指定方法的存取修飾詞。抽象類別中可以有方法的實現,也可以指定方法的存取修飾詞。
  22. 如何區別重載方法?
    不同的參數類型,不同的參數個數,不同的參數順序。
  23. const和readonly有什麼區別?
    const關鍵字用來聲明編譯時間常量,readonly用來聲明運行時常量。
  24. System.String 和System.StringBuilder有什麼區別?
    System.String是不可變的字串。System.StringBuilder存放了一個可變的字串,並提供一些對這個字串修改的方法。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.