WF4.0 Beta1 集合操作
目录
1.3 RemoveFromCollection<T> 从集合移出 3
1.4 ExistsInCollection<T> 在集合中存在 4
建议使用的集合
SortedSet<T>集合
System.Collections.Generic.SortedSet<T>
将忽略添加到集合中的重复项,如果是复杂对像,要实现SortedSet的接口
class Program { static void Main(string[] args) { System.Collections.Generic.SortedSet<myData> list = new System.Collections.Generic.SortedSet<myData>(new myDataComparer()); list.Add(new myData() { myValue = "wxd" }); list.Add(new myData() { myValue = "lzm" }); list.Add(new myData() { myValue = "wxd" }); foreach (var v in list) { System.Console.WriteLine(v.myValue); } System.Console.Read(); } } public class myData { public string myValue { set; get; } } public class myDataComparer : System.Collections.Generic.IComparer<myData> { public int Compare(myData x, myData y) { if (x.myValue == y.myValue) { return 0; } else { return 1; } } } |
WF中的使用
SortedList<K,V> 集合
System.Collections.Generic.SortedList<K,V>
键值对集合,如果的重复的key,会报错
集合
键值对
AddtoCollection 添加到集合
类名:System.Activities.Statements.AddToCollection<T>
基类: CodeActivity
文件: System.Activities.dll
类型: sealed
说明:1.[AddtoCollection]可以将一个项添加到集合中,在使用[AddtoCollection]时,要先指定要操作集合的类型
2.[AddtoCollection]的[Collection]属性用于指定要操作的集合
3.[AddtoCollection]的[Item]属性用于指定要添加到集合中的项
不知为何,:可用这种方式添加,但不能添加多个:
RemoveFromCollection<T> 从集合移出
类名:System.Activities.Statements.RemoveFromCollection<T>
基类: CodeActivity<bool>
文件: System.Activities.dll
类型: sealed
说明:1.[RemoveFromCollection]可以从集合中移除一项,在使用[RemoveFromCollection]时,要先指定要操作集合的类型
2.[RemoveFromCollection]的[Collection]属性用于指定要操作的集合
3.[RemoveFromCollection]的[Item]属性用于指定要添加到集合中的项
4.[RemoveFromCollection]的[Result]属性表示操作结果,如果操作成功返回[True],如果操作不成功,返回[False]
ExistsInCollection<T> 在集合中存在
类名:System.Activities.Statements.ExistsInCollection<T>
基类: CodeActivity<bool>
文件: System.Activities.dll
类型: sealed
说明: 1.[ExistsInCollection]可以验证在集合中是否存在指定项,在使用[ExistsInCollection]时,要先指定要操作集合的类型
2.[ExistsInCollection]的[Collection]属性用于指定要操作的集合
3.[ExistsInCollection的[Item]属性用于指定要查找的项
4.[ExistsInCollection]的[Result]属性表示查找结果,如果找到返回[True],没找到,返回[False]
ClearCollection<T> 清除集合
类名:System.Activities.Statements.ClearCollection<T>
基类: CodeActivity
文件: System.Activities.dll
类型: sealed
说明: 1.[ExistsInCollection]可清除集合的所有项,在使用[ExistsInCollection]时,要先指定要操作集合的类型
2.[ClearCollection]的[Collection]属性用于指定要操作的集合
例:查找,移除集合中的元素
例:复杂对象集合添加元素,清除集合中的元素
数据类 |
public class myData { public string myValue { set; get; } } public class myDataComparer : System.Collections.Generic.IComparer<myData> { public int Compare(myData x, myData y) { if (x.myValue == y.myValue) { return 0; } else { return 1; } } } |
流程 |
|
宿主 |
WorkflowInstance myInstance = new WorkflowInstance(new Sequence1()); myInstance.Run(); System.Console.Read(); |
结果 |