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

结果

 

posted @   WXWinter(冬)  阅读(1020)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示