2014年1月30日 星期四

[C#] 題目練習Q&A part 1.


1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
答 .
 private : 私有成員, 在類別的內部才可以使用。 
protected : 保護成員,該類別內部和繼承的類別可以使用。 
public : 公開成員,外界可存取。 
internal: 在同一命名空間內可以訪問。

2 .列舉ASP.NET 頁面之間傳遞值的幾種模式。 
答. 1.使用QueryString; Request["  "] 
      2.使用Session 、 Application
      3.使用Server.Transfer()  //記得使用這個網頁不會變動

3. 一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞歸算法實現。
答︰
  1. Console.WriteLine(foo(30));
  2. //////////////////////////////////////////////////
  3. static int foo(int i)
  4.         {
  5.             if (== 1 || i == 2)
  6.             {
  7.                 return 1;
  8.             }
  9.             if (>= 3)
  10.             {
  11.                 return foo(- 1) + foo(- 2);
  12.             }
  13.             else
  14.             {
  15.                 return 0;
  16.             }
  17.                
  18.         }



3.override與overloading的區別
答 ︰
overloading是方法的名稱相同 : 參數或參數類型不同。
override 是覆蓋基礎類別的函數。


4.請實做一個冒泡排序算法?
答︰
  1. ///氣泡排序法
  2.             ///
  3.             int[] ary = new int[10]{1,2,3,4,5,6,7,8,9,10};
  4.             for (int i = 0; i < ary.Length-1; i++)
  5.             {
  6.                 for (int j = i+1; j < ary.Length; j++)
  7.                 {
  8.                     if(ary[i] < ary[j])
  9.                     {
  10.                         int temp = ary[i];
  11.                         ary[i] = ary[j];
  12.                         ary[j] = temp;
  13.                     }
  14.                 }
  15.             }


5.描述一下C#中索引器的實現過程,是否只能根據數字進行索引?
答︰可以用任意類型。

6.求以下表達式的值,寫一種或幾種實現方法︰ 1-2+3-4+……+m
答︰
  1. Console.WriteLine( getNum(10));
  2. /////////////////////////////////////////
  3.  static int getNum(int m)
  4.         {
  5.             if (% 2 == 0)
  6.             {
  7.                 return m / (-2);
  8.             }
  9.             else
  10.             {
  11.                 return (+ 1) / 2;
  12.             }
  13.         }

待續...

沒有留言:

張貼留言