首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpecExplorer如何对Microsoft.Modeling.Sequence进行排序

SpecExplorer如何对Microsoft.Modeling.Sequence进行排序
EN

Stack Overflow用户
提问于 2014-06-17 07:57:49
回答 1查看 71关注 0票数 1

我正在使用SpecExplorer生成一个测试套件。我有一个函数应该返回一个排序的字符串集合(与List.Sort()相同的排序行为)。

在模型中,我使用的是Microsoft.Modeling.Sequence。不可能使用列表,因为如果使用列表,SpecExplorer无法计算当前状态.

我的问题是:如何在不使用列表的情况下返回排序的Microsoft.Modeling.Sequence .我知道我可以比较所有的字符串彼此,并与每一个比较步骤创建一个新的不变序列,但这似乎太复杂了。有更简单的解决办法吗?

OffTopic:没有SpecExplorer标签.

编辑:

当前的工作示例

代码语言:javascript
复制
Sequence<string> toSort = new Sequence<string>(new string[] { "Delta", "delta", "Alpha", "Gamma", "Beta" });
Sequence<string> sorted = new Sequence<string>();

while (toSort.Count != 0)
{
    int currentMaxIndex = -1;
    for (int i = 0; i < toSort.Count; i++)
        if (currentMaxIndex == -1 || toSort[i].CompareTo(toSort[currentMaxIndex]) < 0)
            currentMaxIndex = i;
    sorted = sorted.Add(toSort[currentMaxIndex]);
    toSort = toSort.RemoveAt(currentMaxIndex);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-01 18:12:34

也许有些问题:

  • 对于应该返回排序序列的函数:该函数是否用于模型中,即规则方法中,该序列是否是规则参数?
  • 假设是的话:你为什么要建模一个排序序列呢?在定义的序列中,顺序是重要的。如果对序列排序,则顺序并不重要,因为顺序总是相同的:定义的排序顺序?
  • 这就是为什么Microsoft.Modeling.Sequence没有排序函数的原因,而拥有排序函数并不是很重要。
  • 如果所有这些都是这样的话,您可以在模型中使用Microsft.Modeling.Set类型的规则参数。您的模型探索将是更小、更快和更干净的,以及任何可能以某种方式分割状态空间的线缆场景。
  • 如果您的序列不是规则参数,那么您可以很容易地使用任何c#代码(例如列表)。规范资源管理器不应该有任何问题。
  • 如果您确实需要排序,因为未知的原因,也许Linq可以使您的代码更短,更好.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24258565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档