SetBuilder 类
提供用于创建不可变集的功能。
继承层次结构
Object
Microsoft.AnalysisServices.AdomdServer.SetBuilder
命名空间: Microsoft.AnalysisServices.AdomdServer
程序集: msmgdsrv(在 msmgdsrv.dll 中)
语法
声明
Public NotInheritable Class SetBuilder _
Implements IDisposable
用法
Dim instance As SetBuilder
public sealed class SetBuilder : IDisposable
public ref class SetBuilder sealed : IDisposable
[<SealedAttribute>]
type SetBuilder =
class
interface IDisposable
end
public final class SetBuilder implements IDisposable
SetBuilder 类型公开以下成员。
构造函数
名称 | 说明 | |
---|---|---|
SetBuilder() | 初始化 SetBuilder 类的新实例。 | |
SetBuilder(Tuple) | 使用给定的 Tuple 初始化 SetBuilder 类的新实例。 |
顶部
属性
名称 | 说明 | |
---|---|---|
Count | 获取集中 Tuple 对象的数目。 | |
Item | 获取指定的 Tuple 对象。 |
顶部
方法
名称 | 说明 | |
---|---|---|
{dtor} | 释放 SetBuilder 使用的所有资源。 | |
Add | 将 Tuple 添加到集。 | |
Dispose | 释放 SetBuilder 使用的所有资源。 | |
Equals | (从 Object 继承。) | |
GetHashCode | (从 Object 继承。) | |
GetType | (从 Object 继承。) | |
ToSet | 基于指定的 Tuple 对象获取 Set。 | |
ToString | (从 Object 继承。) |
顶部
示例
下面的示例使用一个集和一个指示要返回的元组数的计数,它从该集中随机检索元组,并返回一个最终子集。
public Set RandomSample(Set set, int returnCount)
{
//Return the original set if there are fewer tuples
//in the set than the number requested.
if (set.Tuples.Count <= returnCount)
return set;
System.Random r = new System.Random();
SetBuilder returnSet = new SetBuilder();
//Retrieve random tuples until the return set is filled.
int i = set.Tuples.Count;
foreach (Tuple t in set.Tuples)
{
if (r.Next(i) < returnCount)
{
returnCount--;
returnSet.Add(t);
}
i--;
//Stop the loop if we have enough tuples.
if (returnCount == 0)
break;
}
return returnSet.ToSet();
}
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。不保证所有实例成员都是线程安全的。