一个方法或者属性都有返回类型,返回后又有什么操作呢?
举个例子吧:
就那foreach循环来说,如果迭代一个集合collectionObject,首先调用collectionObject.GetEnumerator()方法,返回一个IEnumerator接口类型,然后调用IEnumerator接口的MoveNext()方法.如果MoveNext()方法返回的是true,就使用IEnumerator接口的的Current属性,获取对象的一个引用,用于foreach循环,重复前面两步,直到MoveNext()方法返回false为止,循环停止.
这就是foreach循环的全过程..问
1、为什么返回IEnumerator接口类型会调用MoveNext()方法?
2、接口只有名称,没有实体代码,MoveNext()方法又是在哪实现的?
3、如果返回的是string,int等类型后又有什么操作?怎么才能看到他们有什么操作?
4、返回void后又是什么操作?
5、一个类class Person:IComperable,创建一个集合ArrayList list=new ArrayList();
list.Add(new Person("Jim",30);
为什么list.Sort()方法会调用public int ComparTo(object obj)方法//该方法是IComperable接口的一个方法!!
==============================================================================================
举个例子吧:
就那foreach循环来说,如果迭代一个集合collectionObject,首先调用collectionObject.GetEnumerator()方法,返回一个IEnumerator接口类型,然后调用IEnumerator接口的MoveNext()方法.如果MoveNext()方法返回的是true,就使用IEnumerator接口的的Current属性,获取对象的一个引用,用于foreach循环,重复前面两步,直到MoveNext()方法返回false为止,循环停止.
这就是foreach循环的全过程..问
1、为什么返回IEnumerator接口类型会调用MoveNext()方法?
2、接口只有名称,没有实体代码,MoveNext()方法又是在哪实现的?
3、如果返回的是string,int等类型后又有什么操作?怎么才能看到他们有什么操作?
4、返回void后又是什么操作?
5、一个类class Person:IComperable,创建一个集合ArrayList list=new ArrayList();
list.Add(new Person("Jim",30);
为什么list.Sort()方法会调用public int ComparTo(object obj)方法//该方法是IComperable接口的一个方法!!
==============================================================================================
解决方案 »
- SerialPort 的 readLine的时候不能继续往下执行
- 如何设置通用查询各表之间的动态关联????
- 如何实现立即刷新几个相关的控件?
- 菜鸟求救...很基础的问题
- 求一正则表达式
- c#中窗体的Resize事件怎么没用呢?
- C# 中如何得到当前程序的路径?GetPath()如何使用?在线等待!
- 在DataGrid里怎样删除一“列“(不是行)
- VS 2012 的Blend工具,不小心删除了个面板
- 文件路径"@"C:\dell\drivers\R105155\DevInst.dll""请问@符合为何用,如何去掉?
- 如何在C#的C/S模式下实现分页的功能?
- VS 2005 windows应用程序中,为什么修改debug中的.exe应用程序名,应用程序就会报错呢,麻烦大侠们赐教啊!!
2.接口的确只有方法签名,但是实现该接口的类里面有该方法的完整实现。也就是实际上调用的是实现了该接口的类里面的方法,你想,接口是不能new的,因此一个new出来的对象如果可以转化成接口,则必然有该接口的方法的实现。
比如:
IEnumerable a = new ArrayList();
IEnumerator b = a.GetEnumerator();
b.MoveNext();
MoveNext方法执行的是ArrayList里的实现。
这就是多态.由抽象来定义方法签名,具体类来实现方法.
3.4.没看明白,你指的是哪个类返回int string void?
5.这和2一样。使用每个元素的 System.IComparable 实现对整个 System.Collections.ArrayList 中的元素进行排序。
同样,只要放入ArrayList中的对象,实现了IComparable接口(也就是说定义了如何比大小的方法,因为比大小的方法是由你来决定的,可以按照字母,按照数字...),也就可以用ArrayList的sort方法,因为排序就是不断在比大小。其实这里反复出现的问题都在于面向对象的三大原则:封装,继承,多态。
朋友能告诉我,你的邮箱吗?.我很想学C#...可是我好多问题我都不明白,身边又没又会的人...以后我想我有问题可以问问你吗?