WF4.0 Beta1 集合操作

WF4.0 Beta1 集合操作

目录

1    WF4.0 Beta1 集合操作    1

1.1    建议使用的集合    1

1.1.1    SortedSet<T>集合    1

1.1.2    SortedList<K,V> 集合    2

1.2    AddtoCollection 添加到集合    2

1.3    RemoveFromCollection<T> 从集合移出    3

1.4    ExistsInCollection<T> 在集合中存在    4

1.5    ClearCollection<T> 清除集合    4

1.6    例:查找,移除集合中的元素    5

1.7    例:复杂对象集合添加元素,清除集合中的元素    6

建议使用的集合

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();

结果

 

原文地址:https://www.cnblogs.com/foundation/p/1513851.html