討論區快速選單
知識庫快速選單
討論區最近新進100則主題 下載Alexa Toolbar讓你上網更有趣
[ 回上頁 ] [ 討論區發言規則 ]
類別 要宣告成陣列
更改我的閱讀文章字型大小
作者 : superlong999(Green)
[ 貼文 53 | 人氣 6106 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/2/21 下午 09:13:04
通常一般 variable 宣告成 array 只要像這樣 int [] test = new int [7] 即可
裡面初始值都會變成 0 ;
但如今天有一類別
class tt
{
    string s;
    int i;
    public tt()
    {
     s = "";
     i = 0;
    }
    pulbic string getS(){return s;}
}

class cc
{
    tt[] test;
    public cc()
    {
     test = new tt[100];
    }
    string a = test[0].getS();
}
在 string a = test[0].getS(); 會出現 並未將物件參考設定為物件的執行個體
請問這樣的宣告方式出了什麼問題嗎
如果今天 tt class 只要 public tt( string s, int i )
這個建構子, 要宣告成陣列時 該怎麼去設初始值?
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36430 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人superlong999註記此篇回應為很有道理 2006/2/21 下午 10:35:25
test = new tt[100];
這只是配置 tt 這個陣列大小為 100.
裡面的每個元素都還是 NULL 值 .
作者 : pclub(識丁) VB.Net優秀好手C#優秀好手ASP.Net優秀好手貼文超過1000則
[ 貼文 1040 | 人氣 8390 | 評價 3800 | 評價/貼文 3.65 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人superlong999註記此篇回應為很有道理 2006/2/22 下午 12:32:36

要寫成一個 loop 將 test[0] 到 test[99] 都設定為
test[i] = new tt();
作者 : sulin(SULIN)
[ 貼文 72 | 人氣 633 | 評價 490 | 評價/貼文 6.81 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人superlong999註記此篇回應為很有道理 2006/2/22 下午 01:10:15
class tt
{
string s;
int i;
public tt()
{
s = "";
i = 0;
}
public string getS(){return s;}
}

class cc
{
public tt[] Gettest() { return test; }
tt[] test;
public cc()
{
test = new tt[100];
for (int i=0;i<100;i++)
{
test[i] = new tt();
}
}
}

使用:
cc Class_cc = new cc();
string a = Class_cc.Gettest()[0].getS();
作者 : sulin(SULIN)
[ 貼文 72 | 人氣 633 | 評價 490 | 評價/貼文 6.81 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人superlong999註記此篇回應為很有道理 2006/2/22 下午 01:13:52
如果今天 tt class 只要 public tt( string s, int i )
這個建構子, 要宣告成陣列時 該怎麼去設初始值?
class tt
{
string s;
int i;
public tt(string _s, int _i )
{
s = _s;
i = _i;
}
public string getS(){return s;}
}

class cc
{
public tt[] Gettest() { return test; }
tt[] test;
public cc()
{
test = new tt[100];
for (int i=0;i<100;i++)
{
string _s = "初值設在這";
int _i = 100;
test[i] = new tt(_s,_i);
}
}
}
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36430 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人superlong999註記此篇回應為很有道理 2006/2/22 下午 01:20:32
這只是建構子加上參數而已,做法幾乎一模一樣,可以自己試吧 .
作者 : superlong999(Green)
[ 貼文 53 | 人氣 6106 | 評價 0 | 評價/貼文 0 | 送出評價 7 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/2/22 下午 03:28:21
謝謝各位
我了解了
 板主 : 小朱
 > C# - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - C# - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
C#
1 小朱 6260 
2 蹂躪 2700 
3 HKLN.net 2440 
4 marlon 2130 
5 joe 1260 
6 識丁 910 
7 好說 860 
8 愛睏魚 770 
9 總幹事 720 
10 Demonbane 600 
C#
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875