一道關於執行個體化順序的C#面試題

最近找工作,面試了幾家公司,其中有一家公司的面試題給我印象很深,不久前在部落格園看過類似的題目,但這次的更複雜,題目如下:public class BaseA{ public static MyTest a1 = new MyTest("a1"); public MyTest a2 = new MyTest("a2"); static BaseA() { MyTest a3 = new MyTest("a3"); } public BaseA()

C#中的語言特性都是從何而來?)

http://blog.csdn.net/cuipengfei1/archive/2011/03/06/6227119.aspx前幾天推薦一個同事用“選擇性參數”,推薦完了我還畫蛇添足的說這是.Net 4中的新特性。但是事後才發現這個新特性是C#4.0的語言特性,與.Net4無關。其實也不只這一次,我平時也經常把語言、架構、運行時,有時甚至還有開發工具混為一談。於是今天就總結一下C#中我感興趣的幾個語言特性是從何而來的。1.選擇性參數選擇性參數是C#

c# 追蹤settings 檔案 )

在網上有很多人問到settings檔案存放的位置,本人看了一些文章都沒有給出明確的答案,所以讓我們一起來追蹤settings 檔案到底存放在什麼位置,它是否存在加密保護。   settings 為設定檔案,其功能類似於app.config 檔案,但相比app.config settings 結構相對簡單,它只有名稱、類型、範圍、值四個屬性,並且不能更改結構(當然是在一般情況下,如要修改結構可以通過其它的方式)   我們都知道app.config

[易學C#]C#3.0語言新特性之對象和集合初始化器

http://kenchell.blog.163.com/blog/static/260883092009716114946383/在C#3.0中,一個對象建立運算式可以包含一個對象或集合初始化器,用於初始化新建立的對象的成員或新建立的集合的元素。對象建立運算式:new type (argument-list(可選)) 對象或集合初試化器(可選)new type 對象或集合初試化器一個對象建立運算式可以省略構造器參數列表,並將其連同圓括弧一起替換為一個對象或集合初始化器。省略構造器參數列表並將其

c#資源檔

Visual C# 資源檔編程--建立資源檔資源檔顧名思義就是存放資源的檔案。資源檔在程式設計中有著自身獨特的優勢,他獨立於來源程式,這樣資源檔就可以被多個程式使用。同時在程式設計的時候,有時出於安全或者其他方面因素的考慮,把重要東西存放在資源檔中,也可以達到保密、安全的效果。那麼VisualC#所使用的資源檔中到底存放哪些東西呢?在用VisualC#建立資源檔大致可以存放三種類型的資料資源,分別是位元組數組、各種對象和字串。本文將結合一個程式例子來具體說明用VisualC#是如何建立資源檔的。

[易學C#]C#3.0語言新特性之擴充方法

http://kenchell.blog.163.com/blog/static/26088309200971611491146/當我們需要對已有類的功能進行擴充時,我們通常會想到繼承,繼承已有類,然後為其加入新的行為。而C# 3.0中加入的擴充方法(Extension

C#4.0入門 第三章 Task類與PLINQ—第一頁 Task類

■ Task類的基本使用方法Task類為把線程類進行改良,使之更簡便,使用起來更加容易的類。因此,雖然功能相似,但屬於兩個概念,使用方法也不相同。要想利用Task類,開始任務,只要調用Task.Factory.StartNew方法就可以了。 task1.cs using System;using System.Threading.Tasks;class Program{ static void Main(string[] args) { // 子任務 var task =

[易學C#]C#3.0語言新特性之隱式類型

20.1 隱式類型在C#3.0中增加了一個變數聲明var,這個聲明和JavaScript 的var類似,但也有不同。相同之處是它可以用var來聲明任何類型的局部變數;而不同之處在於它僅僅負責告訴編譯器,該變數需要根據初始設定式來推斷變數的類型,而且只能是局部變數。20.1.1 隱式類型局部變數的聲明與使用在C#

在C#中實作類別似位域的操作

在C#中實作類別似位域的操作http://www.cnblogs.com/TianFang/archive/2011/01/23/1942446.html這篇文章和前面的那篇在C#中實現BigEndian的數字一樣,都是在解析網路通訊協定和檔案時遇到的。有時協議會規定把一個byte的數字分成幾個部分,某一部分表示一個數字。這種情況下在C中可以用位域很簡單的實現,但是,在C#中就沒那麼容易了。這裡是我寫的一個類,專門用來輔助實現這種操作。     /// <summary>    //

enum : C#中的枚舉類型,原來有這麼多用法)

今天來的時候開啟了MSDN掃了一眼C#裡的枚舉類型~~ 驀然發現這東西還有些新玩法。http://msdn.microsoft.com/zh-cn/library/sbbt4032.aspx#Y791首先是簡單介紹,……在此略過。因為enum用法很簡單麼~定義一個簡單的枚舉類型:   enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};        //這時候         Days.Sat = 0 ,後面依此遞增。當然也可以手動指定起始值:  

C# ManualResetEvent的理解和用法

ManualResetEvent是C#中一個比較常用的工具,可用於線程間通訊,實現一種類似訊號量的功能(不知道我這樣描述是否恰當,有可能不是“類似”,而“就是”通過訊號量來實現的,因為我也是最近才知道這個類,以前一直不知道,哈哈。如果有哪位清楚的話,請給我解惑。)。先瞭解一下ManualResetEvent的基本用法:1、初始化:public ManualResetEvent(bool initialState);  ManualResetEvent的構造方法有個bool型參數,當為true時,

用C# 做ActiveX 的方法

原文在http://lwchome.spaces.live.com/blog/cns%21791B533443007D37%21234.entry 步驟1: 建立一個新的“windows表單控制項陳列庫”項目2: 在AssemblyInfo.cs中引用System.Security命名空間,並添加一句:[assembly : AllowPartiallyTrustedCallers()] 3:

C#泛型詳解

我們在編寫程式時,經常遇到兩個模組的功能非常相似,只是一個是處理int資料,另一個是處理string資料,或者其他自訂的資料類型,但我們沒有辦法,只能分別寫多個方法處理每個資料類型,因為方法的參數類型不同。有沒有一種辦法,在方法中傳入通用的資料類型,這樣不就可以合并代碼了嗎?泛型的出現就是專門解決這個問題的。讀完本篇文章,你會對泛型有更深的瞭解。 為什麼要使用泛型為了瞭解這個問題,我們先看下面的代碼,代碼省略了一些內容,但功能是實現一個棧,這個棧只能處理int資料類型:public class

Effective C# 原則5:始終提供ToString()

在.Net世界裡,用得最多的方法之一就是System.Object.ToStrying()了。你應該為你所有的客戶寫一個“通情達理”的類(譯註:這裡是指這個類應該對方便使用)。要麼,你就迫使所用類的使用者,去使用類的屬性並添加一些合理的易讀的說明。這個以字串形式存在,關於你設計的類的說明,可以很容易的向你的使用者顯示一些關於對象的資訊到:Windows Form裡,Web Form裡,控制台輸出。這些字元說明可以用於調試。你寫的任何一種類型,都應該合理的重寫這個方法。當你設計更多的複雜的類型時,

Effective C#原則2:為你的常量選擇readonly而不是const

對於常量,C#裡有兩個不同的版本:運行時常量和編譯時間常量。 因為他們有不同的表現行為,所以當你使用不當時,將會損傷程式效能或者出現錯誤。 兩害相權取其輕,當我們不得不選擇一個的時候,我們寧可選擇一個運行慢一點但正確的那一個,而不是運行快一點但有錯誤的那個。基於這個理由,你應該選擇運行時常量而不是編譯時間常量(譯註:這裡隱藏的說明了編譯時間常量效率更高,但可能會有錯誤)。

C#類特性和屬性特性

using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Reflection;namespace ConsoleApplication6{ /// <summary> /// AttributeTargets.Class可以對類應用屬性 /// Inherited能否由衍生類別或重寫成員繼承

光腳丫學LINQ(021):在LINQ中使用預存程序(C#)

視頻示範:http://u.115.com/file/f2f879dd4b本演練提供了通過僅執行預存程序來訪問資料的LINQ to SQL基本端對端方案。 資料庫管理員經常使用此方法來限制資料存放區的訪問方式。 出於本演練的需要,您將用到已映射到 Northwind 樣本資料庫中預存程序的兩個方法:CustOrdersDetail 和 CustOrderHist。 此映射發生在運行 SqlMetal 命令列工具來產生 C#

光腳丫學LINQ(007):使用LINQ進行資料轉換(C#)

視頻示範:http://u.115.com/file/f2e6d30b81Language-integrated Query (LINQ) (LINQ) 不僅可用於檢索資料,而且還是一個功能強大的資料轉換工具。通過使用 LINQ 查詢,您可以將源序列用作輸入,並採用多種方式修改它以建立新輸出序列。您可以通過排序和分組來修改序列本身,而不必修改元素本身。 但是,LINQ 查詢最強大的功能可能在於它能夠建立新類型。這一功能在 select

C# 建立DBF檔案

string str_oleConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;Extended Properties=dBASE IV;";             System.Data.OleDb.OleDbConnection ole_conn = new System.Data.OleDb.OleDbConnection(str_oleConn);             try             {        

C語言中的restrict關鍵字

'Restrict' Pointers One of the new features in the recently approved C standard C99, is the restrict pointer qualifier. This qualifier can be applied to a data pointer to indicate that, during the scope of that pointer declaration, all data accessed 

總頁數: 4314 1 .... 2408 2409 2410 2411 2412 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.