list<>和dictionary<>在c#中的区别是什么?
List<>和Dictionary<,> - 用于不同目的的完全不同的数据结构,List只是一组项目,Dictionary是一组键值对。 当你有一组复杂的对象并想要快速访问时,字典非常有用,比如说ObjectName / ObjectId,在这种情况下,你创建IDictionary<string, TObject>,其中key是ObjectId,Value将是一个对象本身。 一些差异:
列出项目的持久性顺序,词典不用。
列表允许按索引快速访问。
列出了QuickSort算法内置的快速数据排序支持。
字典允许~O(1)时间复杂度通过键访问项目(值)。
比如,一个坐标系内也可以是一个图像范围内,有N个,现在需要保存每个点的坐标x,y,r,r是其角度,视觉处理交叉点时是有角度的,这里就按3个参数来处理,别纠结。要把这些点用用数组方式来保存就很不清晰,二用LIST或DICTIONARY来储存就一一对应简单清晰很多。
先定义一个CLASS
class MyPoint
{
public double x;
public double y;
public double r;
public MyPoint ( double X, double Y, double R )
{
x = X;
y = Y;
r = R;
}
}
然后可以定义LIST:
List mylist = new List ( );
添加:
mylist.Add ( new MyPoint ( 1.1, 11.11, 111.111 ) );