写第一个C#程序的过程记录
来源:互联网 发布:森系淘宝店 编辑:程序博客网 时间:2024/05/17 01:12
发到博克中方便自己查看~~
1. 创建了一个Circle类。
2. 怎样实现一个保存多个Circle实例的CircleGroup 类?
a) 把Circle类当作和 int 一样的类型,在CircleGroup类中类似创建int 数组的Circle数组。Circle数组的创建可以有不带参数与带参数(指定实例个数与初始)。
Public Circle [] circles;
Circles = new Circle [10];
引用 Circles[ i ] ( -1<i<10 )时,运行时提示 Nullreference.
解决:
Circle [ i ] 使用前需要被实例化,也就是数组成员完整的实例是:
Circles = new Circle [10];
For (…)
Circles [ i ] = new Circle();
提问:为什么使用语言自带的类型的数组只需要实例化一次呢?而自定义的类型数组像上面要实例化两次。
比如 int[] count = new int [ 10 ], 之后就可以直接引用 count [ i ],它们为什么会有这样的区别呢?
b) 创建一个索引器,然后再创建一个CircleGroup的类,在CircleGroup中把对象Circle通过索引器当作数组使用。怎么定义?
3. CSDN提问:初级:为什么使用自定义的类创建一维数组时要被实例化两次?
=======================
Circle是自定义的类。
circles [ i ] 使用前需要被实例化,也就是数组成员完整的实例化是:
circles = new Circle [10];
For (…)
circles [ i ] = new Circle();
上面的第二次实例不能省略,在VS2005上面由于缺少了第二步的实例化,编译通过但是调试的时候提示引用空类型。
但是语言自带的类型比如 int ,如果有这样的实例化:
circles = new int[ 10 ];
之后就可以直接引用数组成员了。
为什么会有这样的区别呢?
=======================
4. 在实现Ilist接口时,其内有方法 public Add( object Value ), 但是实际上使用的是 Add( Circle Value ), 也就是接口的参数类型可不可以特殊化?在方法中怎样实现方法内部的Circle 类型参数与传递过来的 object参数比较?
解决:
比较之前将类型强制转换,如果传递的Object参数是Circle类型,转化后会正确的添加。而且比较可以通过比较特定的成员的方法来判断,如果是直接通过操作符比较两个对象,可能只有在两个对象都是同一个的引用的时候才会是相等的。
- 写第一个C#程序的过程记录
- 自己写的第一个小程序,记录点滴
- 学习C#的第一个程序:笔记查找与记录
- C#的第一个程序
- C#的第一个程序
- 第一个存储过程,写了很长时间,记录一下
- 自己写的第一个存储过程
- 第一个网站的制作过程记录
- 用Ogre写的第一个程序
- 写的第一个java程序。
- 我写的第一个程序 ~~~~~~~~
- 本人写的第一个 brainfuck 程序
- 我写的第一个ARM程序
- VS2013写QT的第一个程序
- 第一个自己写的小程序
- 第一个 OpenGL ES的小程序(过程写的非常详细)
- Hadoop 调试第一个mapreduce程序过程详细记录总结
- Hadoop 调试第一个MapReduce程序过程详细记录总结
- 定制Blog页面风格
- 如何为你的blog添加图片log
- 乱弹java
- 如何用自己的CSS替换掉Blog默认的样式(作者:雪峰)
- CVSNT配置补充
- 写第一个C#程序的过程记录
- 一个多线程web服务器实例(C,Linux,详细的web服务器原理)
- Linux查看系统资料使用情况
- 忙着搬家
- C/C++头文件一览
- js prototype 格式化数字 By shawl.qiu
- Admin
- Windows不能显示隐藏文件解决方法
- NOTES.INI 文件的使用