C#学习记录四:集合,比较和转换
来源:互联网 发布:abb机器人编程手册 编辑:程序博客网 时间:2024/06/12 21:02
1,集合
介绍:Systems.Collections命名空间中的一个类System.Collections.ArrayList也实现了IList,ICollection和IEnumerable,而这个类可以用于表示大小可变的项列表。
个人理解:ArrayList可以形象的表示称可变数组,Array表示称不可变数组。
例如:
这是array
Animal[] animalArray = new ANimal[2];Cow myCowl = new Cow("xiaoyuan");animalArray[0] = myCowl;animalArray[1] = new Chicken("ken");
foreach(Animal myAnimal in animalArray)
{
Consale.WriteLine("New {0} object added to Array collection,"+"Name = {1}",myAnimal.ToString(),myAnimal.Name);
}
下面例子:ArrayList
ArrayList animalArrayList = new ArrayList();Cow myCow2 = new Cow("Hayley");animalArrayList.Add(myCow2);
animalArrayList.RemoveAt(1);理解集合和数组,可以类比objective-c中的可变数组和数组理解比较好。
2,比较
is运算符:
运算语法:<operand> is <type>
判断某一个对象是否属于某一个类型。
IComparable和IComparer接口
IComparable:在要比较的对象类中实现,可以比较该对象和另一个对象。
IComparer:在一个单独的类中实现,可以比较任意两个对象。
一般情况下,我们使用IComparable给出类的默认比较代码,使用其他类给出的非默认的比较代码。
IComparable提供一个方法CompareTo()。这个方法接受一个对象,所以可以实现它,以便把Person对象传送给他,说明这个人是否比当前的人更年轻或者年老
这个方法返回一个int.
if(person1.ComparteTo(person2)) [可以在类里面直接实现该方法]
{ }
ICompare提供了一个Compare(),可以接受两个对象
if(personCompare.Compare(person1,person2)==0)
{.....}
3,转换
可以隐式转换,这个可以类比objective-C
as运算符使用下面的语法,把一种类型转换为制定的引用类型:
<operand> as <type>
这只适用于下列情况:
<operand> 的类型是 <type>类型
<operand> 可以隐式转换为 <type>类型
<operand> 可以封箱到类型<type>中
如果不能从<operand>转化为<type>,则表达式的结果就是null.
例如:ClassA obj1 = new ClassA();
ClassD obj2 = obj1 as ClassD;
- C#学习记录四:集合,比较和转换
- 《C#入门经典》学习笔记(集合、比较和转换)
- 《C#入门经典》学习笔记(集合、比较和转换)
- C#入门经典学习11-集合比较转换
- 集合、比较 和 转换 练习归纳
- 第11章 集合,比较和转换
- Java与C#的比较学习记录
- C#学习记录(四)------分页虚基类
- Java与C#的比较学习记录(1)
- Java与C#的比较学习记录(2)
- Java与C#的比较学习记录(3)
- Java与C#的比较学习记录(4)
- 【C#学习】——集合和数组
- C#学习日记-数组和集合
- C#学习第九天 继承、里氏转换、集合
- 数组、集合比较学习。
- c#学习和java的比较
- C#学习笔记之比较、转换(11.2/3)
- Verilog HDL代码书写规范
- j2recover----最强大的jfs2文件删除恢复工具
- 网络爬虫
- (八)循环队列
- 机房收费系统关于结账和账单生成的计算问题
- C#学习记录四:集合,比较和转换
- php (十三) 面向对象 封装
- JSTL核心标签库之简单介绍
- HDOJ 1027 Ignatius and the Princess II
- ArrayList 实例
- Git 学习及使用
- Conversion - C++11, 18 of n
- Spring MVC 框架搭建以及配置说明
- acm-数组初步,输入10个整数,逆序输出