Silverlight~数据相关的乱摘
2010-09-08 13:35 撞破南墙 阅读(759) 评论(1) 编辑 收藏 举报1选择集合类
考虑以下问题:
@1您是否需要一个序列列表,其中的元素通常在检索其值后被放弃?
如果需要,则在需要先进先出 (FIFO) 行为时请考虑使用 Queue<T> 泛型类。在需要后进先出 (LIFO) 行为时请考虑使用 Stack<T> 泛型类。
如果不需要,请考虑使用其他集合。
@2是否需要以某种顺序访问元素,例如 FIFO、LIFO 或随机访问?
Queue<T> 泛型类提供 FIFO 访问。
Stack<T> 泛型类提供 LIFO 访问。
LinkedList<T> 泛型类允许从开头到末尾或从末尾到开头按顺序访问。
其余的集合提供随机访问。
@3是否需要通过索引访问每一元素?
List<T> 泛型类通过元素的从零开始的索引来访问零元素。
Dictionary<TKey, TValue> 泛型类通过元素的键来访问元素。
KeyedCollection<TKey, TItem> 泛型类通过元素的从零开始的索引或键来访问元素。
@3每一元素将包含一个值、一个键和一个值的组合还是一个键和多个值的组合?
一个值:使用任何基于 IList 接口或 IList<T> 泛型接口的集合。
一个键和一个值:使用任何基于 IDictionary 接口或 IDictionary<TKey, TValue> 泛型接口的集合。
带有嵌入的键的一个值:使用 KeyedCollection<TKey, TItem> 泛型类。
是否需要只接受字符串的集合?
2通过为泛型类型参数指定 String 类,可以将 System.Collections.Generic 命名空间中的任何泛型集合类用作强类型字符串集合。
数组集合类型
Array 类
.列表集合类型
泛型 List<T>
队列集合类型
Queue<T> 泛型
Enqueue 方法将元素添加到队列的末尾。
Dequeue 方法从队列的开头移除最旧的元素。
Peek 方法从队列的开头返回最旧的元素,但不将其从队列中移除。
字典集合类型
堆栈集合类型
Stack<T> 泛型类
3何时使用泛型集合
下面的列表汇总了要使用的重要泛型类型:
Collection<T> 是可以用作基类的泛型类。
ReadOnlyCollection<T> 类不是抽象的,它具有一个构造函数,该构造函数使其易于将现有的 List<T> 公开为只读集合。
List<T> 类允许指定您自己的用于排序和搜索列表的 IComparer<T> 泛型接口实现。
LinkedList<T> 是一个通用链接列表,它提供运算复杂度为 O(1) 的插入和移除操作。
KeyedCollection<TKey, TItem> 是介于列表和字典之间的混合类型,它提供了一种存储包含自己键的对象的方法。
Dictionary<TKey, TValue> 和 KeyedCollection<TKey, TItem> 类允许您指定自己的相等比较器。
4数据绑定
若要获取绑定到 ItemsControl 的集合的更改通知,除了实现 INotifyPropertyChanged 外,还要实现INotifyCollectionChanged。
使用数据批注自定义数据类
5MSDN叫批注的使用,java叫做注解?
验证属性
验证属性 |
说明 |
使用自定义方法进行验证。 |
|
指定特定类型的数据,如电子邮件地址或电话号码。 |
|
确保值存在于枚举中。 |
|
指定最小和最大约束。 |
|
使用正则表达式来确定有效的值。 |
|
指定必须提供一个值。 |
|
指定最大和最小字符数。 |
|
用作验证属性的基类。 |
显示属性
显示属性 |
说明 |
指定特定类型的数据,如电子邮件地址或电话号码。 |
|
为用户界面中使用的数据类型和成员指定可本地化的字符串。 |
|
当将表用作外键关系中的父表时,指定显示和排序属性。 |
|
指定如何显示数据字段以及如何设置数据字段的格式。 |
|
指定列的筛选行为。 |
|
指定用于显示关联实体成员的控件和值。 |
数据建模属性
数据建模属性 |
说明 |
指定某个实体成员表示某种数据关系,如外键关系。 |
|
指定某属性将参与开放式并发检查。 |
|
指定用户是否应能够更改实体属性的值。 |
|
指定一个或多个要用作实体的唯一标识的实体属性。 |
|
将某个成员指定为数据版本控制的时间戳值。 |
http://msdn.microsoft.com/zh-cn/library/dd901590(v=VS.95).aspx
6对独立存储文件进行加密和签名 只是索引
System.Security.Cryptography 和 System.Security.Cryptography.X509Certificates 命名空间包含使您能够对文件进行加密或签名的类。在 Silverlight 中,主要的加密方案是对由基于 Silverlight 的应用程序使用的独立存储文件进行加密。
有关对独立存储文件进行加密和解密的完整示例,请参见 System.Security.Cryptography.AesManaged 类。
有关对独立存储文件进行签名和检查其签名的完整示例,请参见 System.Security.Cryptography.HMACSHA256 类。
有关 .NET Framework 中的加密概述,请参见 .NET Framework 文档中的 Cryptographic Services(加密服务)。
7使用 XmlReader 和 LINQ to XML 分析 XML
XmlReader 是一种快速的、只进方式非缓存分析器。LINQ to XML 在 XmlReader 之上实现,并且这两者紧密集成。
通常,应该使用 XmlReader 读取大型文档,因为将大型文档加载到内存中的树状结构要占用大量内存空间,导致性能降低。
如果正在生成的系统分析的 XML 文档较小,则应利用 LINQ to XML 以提高效率。
8WCF 数据服务 (Silverlight)
暂时不细看
http://msdn.microsoft.com/zh-cn/library/cc838234(v=VS.95).aspx
作者:撞破南墙
出处:http://www.cnblogs.com/facingwaller/
关于作者:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。