C#常見題型及部分答案

1、請寫出c#的一個Main函數
2、String str="abcd";
     String str2 = str.substring(1,3);
的結果是什麼?
3、errorprovier的作用是什麼?
4、button 有什麼常見的事件?
5、窗體 form 有什麼常用的屬性?
6、請寫出至少3個c#的異常?exception
7、請寫出至少5個c#連接SQLserver的操作對象?
比如Sqlconnction,SqlCommand等
並且逐一寫出它們的作用
8、想刪除一個文件 使用一個打開文件的對話框,然後進行文件的刪除 請寫出大概的步驟和所用的對象
9、請寫出FileStream的作用,StreamWriter和StreamReader的作用
10、寫出只能填寫數字的控件,只能添些日期的控件,顯示進度條的控件,時間管理的控件 寫出這些控件的名字
11、datagridview的作用 和操作方法
12、DataTable的作用 ,如果想取出第1行第2列的內容應該如何操作
13、如何按下鍵盤的w 讓一個圖片向上移動
14、寫出報表文件的後綴名
15、寫出連接SQL數據庫構造函數中的寫法
16、寫出reader.Read()方法的作用和返回值
17、out和ref的作用 及區別
18、switch case 的寫法
19、foreach的作用和寫法
20、HashTable 的作用和寫法

======================================

C#常見題型部分答案

一 、c#的入口函數Main()
存在與某個類中
每個項目只能有一個
可以沒有public
必須有static
必須有返回類型
必須第一個字母大寫

二、Form常用屬性
(1)Name屬性:用來獲取或設置窗體的名稱。
(2)WindowState屬性:用來獲取或設置窗體的窗口狀態。
(3)StartPosition屬性:用來獲取或設置運行時窗體的起始位置。
(4)Text屬性:該屬性是一個字符串屬性,用來設置或返回在窗口標題欄中顯示的文字。
(5)Width屬性:用來獲取或設置窗體的寬度。
(6)Heigth屬性:用來獲取或設置窗體的高度。
(7)Left屬性:用來獲取或設置窗體的左邊緣的 x 座標(以像素爲單位)。
(8)Top屬性:用來獲取或設置窗體的上邊緣的 y 座標(以像素爲單位)。
(9)ControlBox屬性:用來獲取或設置一個值,該值指示在該窗體的標題欄中是否顯示控制框。
(10)MaximumBox屬性:用來獲取或設置一個值,該值指示是否在窗體的標題欄中顯示最大化按鈕。
(11)MinimizeBox屬性:用來獲取或設置一個值,該值指示是否在窗體的標題欄中顯示最小化按鈕。
(12)AcceptButton屬性:該屬性用來獲取或設置一個值,該值是一個按鈕的名稱,當用戶按 ENTER 鍵時就相當於單擊了窗體上的該按鈕。
(13)CancelButton屬性:該屬性用來獲取或設置一個值,該值是一個按鈕的名稱,當用戶按ESC鍵時就相當於單擊了窗體上的該按鈕。
(14)Modal屬性:該屬性用來設置窗體是否爲有模式顯示窗體。
(15)ActiveControl屬性:用來獲取或設置容器控件中的活動控件。
(16)ActiveMdiChild屬性:用來獲取多文檔界面(MDI)的當前活動子窗口。
(17)AutoScroll屬性:用來獲取或設置一個值,該值指示窗體是否實現自動滾動。
(18)BackColor屬性:用來獲取或設置窗體的背景色。
(19)BackgroundImage屬性:用來獲取或設置窗體的背景圖像。
(20)Enabled屬性:用來獲取或設置一個值,該值指示控件是否可以對用戶交互作出響應。
(21)Font屬性:用來獲取或設置控件顯示的文本的字體。
(22)ForeColor屬性:用來獲取或設置控件的前景色。
(23)IsMdiChild屬性:獲取一個值,該值指示該窗體是否爲多文檔界面 (MDI) 子窗體。
(24)IsMdiContainer屬性:獲取或設置一個值,該值指示窗體是否爲多文檔界面 (MDI) 中的子窗體的容器。
(25)KeyPreview屬性:該屬性用來獲取或設置一個值,該值指示在將按鍵事件傳遞到具有焦點的控件前,窗體是否將接收該事件。
(26)MdiChildren屬性:數組屬性。
(27)MdiParent屬性:該屬性用來獲取或設置此窗體的當前多文檔界面 (MDI) 父窗體。
(28)ShowInTaskbar屬性:該屬性用來獲取或設置一個值,該值指示是否在 Windows 任務欄中顯示窗體。
(29)Visible屬性:該屬性獲取或設置一個值,該值指示是否顯示該窗體或控件。
(30)Capture屬性:如果該屬性值爲true,則鼠標就會被限定只由此控件響應,不管鼠標是否在此控件的範圍內。

(1)Show方法
該方法的作用是讓窗體顯示出來,其調用格式爲:
窗體名.Show();
(2)Hide方法
該方法的作用是把窗體隱藏出來,其調用格式爲:
窗體名.Hide();
(3)Refresh方法
該方法的作用是刷新並重畫窗體,其調用格式爲:
窗體名.Refresh();
(4)Activate方法
該方法的作用是激活窗體並給予它焦點。其調用格式爲:
窗體名.Activate();
(5)Close方法
該方法的作用是關閉窗體。其調用格式爲:
窗體名.Close();
(6)ShowDialog方法
該方法的作用是將窗體顯示爲模式對話框。其調用格式爲:
窗體名.ShowDialog();


三、C#所有異常類的名稱以及作用?
類 說明
Microsoft.Build.BuildEngine.InternalLoggerException 此異常用於包裝來自記錄器的未處理異常。
Microsoft.Build.BuildEngine.InvalidProjectFileException 當用戶的 XML 項目文件出現問題時,會引發此異常。該問題可能是語義問題也可能是語法問題。如果該問題是語法問題,則通常是由 XSD 驗證導致的。
Microsoft.Build.Framework.LoggerException 使記錄器可以通過顯式方式強制生成停止。
Microsoft.JScript.CmdLineException
Microsoft.JScript.ParserException
Microsoft.VisualBasic.ApplicationServices.CantStartSingleInstanceException 當單實例應用程序的後續實例無法連接到第一個應用程序實例時,將引發此異常。
Microsoft.VisualBasic.ApplicationServices.NoStartupFormException 當未設置 MainForm 屬性時,Visual Basic 應用程序模型會引發此異常。
Microsoft.VisualBasic.CompilerServices.IncompleteInitialization
Microsoft.VisualBasic.CompilerServices.InternalErrorException
Microsoft.VisualBasic.FileIO.MalformedLineException 當 ReadFields 方法不能使用指定格式分析行時引發的異常。
Microsoft.WindowsMobile.DirectX.DirectXException 由託管代碼應用程序的 Windows Mobile DirectX 引發的異常。
System.ApplicationException 發生非致命應用程序錯誤時引發的異常。
System.ComponentModel.Design.ExceptionCollection 表示異常的集合。
System.Configuration.Provider.ProviderException 當發生配置提供程序錯誤時引發的異常。如果提供程序內發生的內部錯誤沒有映射到其他已存在的異常類,則提供程序也使用此異常類來引發異常。
System.Configuration.SettingsPropertyIsReadOnlyException 提供只讀 SettingsProperty 對象的異常。
System.Configuration.SettingsPropertyNotFoundException 提供未找到的 SettingsProperty 對象的異常。
System.Configuration.SettingsPropertyWrongTypeException 提供在對 SettingsProperty 對象使用無效類型時引發的異常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectExistsException 當創建了 Active Directory 對象且該對象在基礎目錄存儲區中已存在時,將引發 ActiveDirectoryObjectExistsException 類異常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectNotFoundException 當在基礎目錄存儲區中找不到請求的對象時,將引發 ActiveDirectoryObjectNotFoundException 類異常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException 當基礎目錄操作失敗時,將引發 ActiveDirectoryOperationException 類異常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException 當服務器無法響應服務請求時,將引發 ActiveDirectoryServerDownException 類異常。
System.DirectoryServices.Protocols.DirectoryException DirectoryException 類是一個抽象類,用作所有 System.DirectoryServices.Protocols 異常的基類。
System.IO.IsolatedStorage.IsolatedStorageException 獨立存儲中的操作失敗時所引發的異常。
System.Net.Mail.SmtpException 表示當 SmtpClient 無法完成 Send 或 SendAsync 操作時引發的異常。
System.Runtime.CompilerServices.RuntimeWrappedException 包裝不是從 Exception 類派生的異常。無法繼承此類。
System.Runtime.Remoting.MetadataServices.SUDSGeneratorException 在生成 Web 服務描述語言 (WSDL) 的過程中發生錯誤時將引發的異常。
System.Runtime.Remoting.MetadataServices.SUDSParserException 在分析 Web 服務描述語言 (WSDL) 的過程中發生錯誤時將引發的異常。
System.SystemException 爲 System 命名空間中的預定義異常定義基類。
System.Web.Security.MembershipCreateUserException 在成員資格提供程序未成功創建用戶時引發的異常。
System.Web.Security.MembershipPasswordException 無法從密碼存儲區檢索到密碼時引發的異常。
System.Web.UI.ViewStateException 表示當無法加載或驗證視圖狀態時引發的異常。無法繼承此類。
System.Windows.Forms.AxHost.InvalidActiveXStateException 引用處於無效狀態的 ActiveX 控件時引發的異常。

 

16、寫出reader.Read()方法的作用和返回值
從sqlserver數據庫的第一條開始查,直到最後一條記錄。
false true

17、out和ref的作用 及區別

C#中的out與ref
MSDN上的簡單介紹:

  out 關鍵字會導致參數通過引用來傳遞。這與 ref 關鍵字類似,不同之處在於 ref 要求變量必須在傳遞之前進行初始化。若要使用 out 參數,方法定義和調用方法都必須顯式使用 out 關鍵字。例如:class OutExample
{
     static void Method(out int i)
     {
         i = 44;
     }
     static void Main()
     {
         int value;
         Method(out value);
         // value is now 44
     }


儘管作爲 out 參數傳遞的變量不需要在傳遞之前進行初始化,但需要調用方法以便在方法返回之前賦值。

ref 和 out 關鍵字在運行時的處理方式不同,但在編譯時的處理方式相同。因此,如果一個方法採用 ref 參數,而另一個方法採用 out 參數,則無法重載這兩個方法。但是,如果一個方法採用 ref 或 out 參數,而另一個方法不採用這兩類參數,則可以進行重載。

示例:

        當希望方法返回多個值時,聲明 out 方法很有用。使用 out 參數的方法仍然可以將變量用作返回類型(請參見 return),但它還可以將一個或多個對象作爲 out 參數返回給調用方法。此示例使用 out 在一個方法調用中返回三個變量。請注意,第三個參數所賦的值爲 Null。這樣便允許方法有選擇地返回值。

class OutReturnExample
{
     static void Method(out int i, out string s1, out string s2)
     {
         i = 44;
         s1 = "I''ve been returned";
         s2 = null;
     }

20、HashTable 的作用和寫法
Hashtable表操作

發佈人:admin 發佈日期: 2007-12-17 閱讀: 129 

using   System;
using   System.Collections;

namespace   HashtableTest
{
        class   Program
        {
                static   void   Main(string[]   args)
                {
                        //   哈希表默認容量是   7,內部數組初始大小爲   11
                        //   每次擴容性能損失相當大,所以最好直接給定   capacity   值
                        Hashtable   htt   =   new   Hashtable(100);

                        for   (int   i   =   0;   i   <   100;   i++)
                                htt.Add(i,   i);
                        Console.WriteLine(htt.Count);

                        //   使用一個副本,退出   foreach   就回收了,不會造成大的性能影響
                        foreach   (int   key   in   ((Hashtable)htt.Clone()).Keys)
                                if   (key   %   2   ==   0)
                                        htt.Remove(key);
                        Console.WriteLine(htt.Count);
                }
        }
}
 

hashtable的用法
 
 
 
1.
Hashtable mhashtable = new Hashtable();
 2.

 public Hashtable getMhashtable() {
  return mhashtable;
 }
3.
uHashtable.put(username, usernamue);
 
4.
LdapParse createM = new LdapParse();
Hashtable hashKey = (Hashtable)createM.getUHashtable();
 Enumeration enum;
 String name, value;
 enum = hashKey.keys();
 while (enum.hasMoreElements())
 {
  name = (String) enum.nextElement();
  value = (String) hashKey.get(name);
 }
 
Hashtable
一,哈希表(Hashtable)簡述

  在.NET work中,Hashtable是System.Collections命名空間提供的一個容器,用於處理和表現類似key/的鍵值對,其中key通常可用來快速查找,同時key是區分大小寫;用於存儲對應於key的值。Hashtable中key/鍵值對均爲object類型,所以Hashtable可以支持任何類型的key/鍵值對.

二,哈希表的簡單操作

 在哈希表中添加一個key/鍵值對:HashtableObject.Add(key,);
 在哈希表中去除某個key/鍵值對:HashtableObject.Remove(key);
 從哈希表中移除所有元素:           HashtableObject.Clear();
 判斷哈希表是否包含特定鍵key:      HashtableObject.Contains(key);
 下面控制檯程序將包含以上所有操作:
using System;
using System.Collections; //使用Hashtable時,必須引入這個命名空間
class hashtable
{
  public static void Main()
  {
  Hashtable ht=new Hashtable(); //創建一個Hashtable實例
  ht.Add("E","e");//添加key/鍵值對
  ht.Add("A","a");
  ht.Add("C","c");
  ht.Add("B","b");

  string s=(string)ht["A"];
  if(ht.Contains("E")) //判斷哈希表是否包含特定鍵,其返回值爲true或false
    Console.WriteLine("the E key:exist");
  ht.Remove("C");//移除一個key/鍵值對
  Console.WriteLine(ht["A"]);//此處輸出a
  ht.Clear();//移除所有元素
  Console.WriteLine(ht["A"]); //此處將不會有任何輸出
  }
}

 

三,遍歷哈希表

 遍歷哈希表需要用到DictionaryEntry Object,代碼如下:
 for(DictionaryEntry de in ht) //ht爲一個Hashtable實例
 {
   Console.WriteLine(de.Key);//de.Key對應於key/鍵值對key
   Console.WriteLine(de.);//de.Key對應於key/鍵值對
 }

四,對哈希表進行排序

  對哈希表進行排序在這裏的定義是對key/鍵值對中的key按一定規則重新排列,但是實際上這個定義是不能實現的,因爲我們無法直接在Hashtable進行對key進行重新排列,如果需要Hashtable提供某種規則的輸出,可以採用一種變通的做法:
 ArrayList akeys=new ArrayList(ht.Keys); //別忘了導入System.Collections
 akeys.Sort(); //按字母順序進行排序
 for(string skey in akeys)
 {
   Console.Write(skey ":");
   Console.WriteLine(ht[skey]);//排序後輸出
 }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章