作者andymai (人生只有一次)
看板C_Sharp
标题Re: [问题] 阵列的问题
时间Wed Dec 29 23:00:36 2010
招唤小型卡卡兽...原文和推文吃光光...
:a大
:c2[1] = new Class2(new string[] {"c","d"});
:与建构子
:public Class2(string[] myword)
1.是不是可以想成 string[] myword=new string[] {"c","d"}
2.若照上面我的注解改成c2[1] = new Class2(string[] {"c","d"});
3.会变成 string[] myword=string[] {"c","d"}
:这样就错了!
是啊...这样就错了...
明明在步骤1的时候有用new配置记忆体~那为什麽步骤2不用呢?
当然还是要罗...
我在猜你是把建构子要传入的型态搞错意思了
建构子和方法的引数写法一样~都是只要指定型态就好
所以public Class2(string[] myword)这样代表的是要传入string[]这种型态的东西
这时有3种写法:
a.像步骤1一样~先宣告并配置
步骤2就写成c2[1] = new Class2(myword);
b.不想写步骤1,反正下面的程式也用不到
那就可以写成c2[1] = new Class2(new string[] {"c", "d"});
↑
直接new一个传过去
c.不想给...那就写成c2[1] = new Class2(null);
但是要注意给null会不会引发後续Class2用到时的错误就是了
--------------------------------------------------------------------------
string[] myword; //只是宣告myword是string[]型态~这时的myword是null
myword = new string[] {"c", "d"}; //配置记忆体和内容并指定给myword
至於型别、物件、介面、继承等等~我会推荐"深入浅出-设计模式"这本书
虽然它是用Java写的~但语法和C#相近~不会让人有距离感
我相信只要努力看完并反覆体会第一章的鸭子范例
应该可以对那四个东西有进一步的认识
(不过这本书蛮贵的就是了XD 若你在台北市可以试着去借借看)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.67.96
※ 编辑: andymai 来自: 61.227.67.96 (12/29 23:05)
1F:推 amonsat:讲解的很清楚,感谢 12/30 00:23
2F:→ james732:超级推「深入浅出-设计模式」 看它之前不知道介面是啥 12/30 00:46