none
字串陣列如何使用const? RRS feed

  • 問題

  • c#語法裡沒有#define,但是有const。我宣告了一字串陣列但是沒有辦法使用const

     

    我宣告的陣列

    public string[] strarryData = new string[5]{"AAA","BBB","CCC","DDD","EEE"};

    但是我加上了const是不行的

    public const string[] strarryData = new string[5]{"AAA","BBB","CCC","DDD","EEE"};

     

    請問我該怎麼做?謝謝!

    2007年4月26日 上午 09:44

所有回覆

  • String Reference Type 不知能否用 Const 我的直覺應該不行.

    你可以用 Static Class 配合 Static Property

     

    Class Static StringProvider{

     private Static string[] strarryData = new string[5]{"AAA","BBB","CCC","DDD","EEE"};

    public string this[int index]{

        if(index>5)

           index=5;

       if(index<0)

          index=0;

    return strarryData[index];

    }

    }

     

     

    class App{

       public static void Main(){

       string fristStr=StringProvider[0];

      }

    }

    2007年4月26日 上午 09:59
  • 我的想法是可以用一個Class來封裝資訊, 設變數為私有, 只開放一個Function來Get資料. 或是設一個no static class, 一個只有get的property就可以解決了. 其實C#還有個readonly的key word, 但是我沒用過..^^, 因為用OO的概念就可以搞定了

    btw, 'static class': cannot declare indexers in a static class, ^^.

    2007年4月26日 下午 06:29