首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我想把一个程序重复很多次。如何在另一个类中记录这些结果?

在另一个类中记录重复执行程序的结果可以通过使用数据结构来实现。以下是一种常见的方法:

  1. 创建一个用于记录结果的数据结构,例如列表(List)或字典(Dictionary)。
  2. 在另一个类中,将每次执行程序的结果存储到数据结构中。可以通过调用数据结构的添加(Add)或更新(Update)方法来实现。
  3. 确保在每次执行程序后,将结果存储到数据结构中。
  4. 如果需要,可以在另一个类中提供访问结果的方法,以便其他部分可以获取结果。

以下是一个示例代码,演示如何在另一个类中记录重复执行程序的结果:

代码语言:txt
复制
// 定义一个用于记录结果的类
public class ResultRecorder
{
    private List<string> results; // 使用列表来记录结果

    public ResultRecorder()
    {
        results = new List<string>();
    }

    public void AddResult(string result)
    {
        results.Add(result);
    }

    public List<string> GetResults()
    {
        return results;
    }
}

// 另一个类中执行程序并记录结果
public class ProgramExecutor
{
    private ResultRecorder recorder;

    public ProgramExecutor(ResultRecorder recorder)
    {
        this.recorder = recorder;
    }

    public void ExecuteProgram()
    {
        // 执行程序并获取结果
        string result = RunProgram();

        // 将结果存储到记录器中
        recorder.AddResult(result);
    }

    private string RunProgram()
    {
        // 执行程序的逻辑
        return "程序执行结果";
    }
}

// 在主程序中使用
public class MainProgram
{
    public static void Main()
    {
        ResultRecorder recorder = new ResultRecorder();
        ProgramExecutor executor = new ProgramExecutor(recorder);

        // 执行程序多次并记录结果
        executor.ExecuteProgram();
        executor.ExecuteProgram();
        executor.ExecuteProgram();

        // 获取结果并进行处理
        List<string> results = recorder.GetResults();
        foreach (string result in results)
        {
            Console.WriteLine(result);
        }
    }
}

在上述示例中,创建了一个ResultRecorder类来记录结果,使用列表来存储每次执行程序的结果。另一个类ProgramExecutor负责执行程序并将结果存储到ResultRecorder中。在主程序中,可以多次执行程序并获取结果进行处理。

请注意,上述示例是使用C#语言编写的,但是可以根据需要使用其他编程语言来实现相同的逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring——【第一章入门】:核心Aop与Ioc

程序,被调用的选择控制权从调用它的移除,转交给第三方裁决。这个第三方指的就是Spring的容器。...4 主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法,进而改 变这些行为的时候不影响业务逻辑的代码...「脏读」 :表示一个事务能够读取另一个事务还未提交的数据。比如,某个事务尝试插入记录 A,此时该事务还未提交,然后另一个事务尝试读取到了记录 A。...「不可重复读」 :是指在一个事务内,多次读同一数据。 「幻读」 :指同一个事务内多次查询返回的结果集不一样。...发生幻读的原因也是另外一个事务新增或者删除或者修改了第一个事务结果集里面的数据,同一个记录的数据内容被修改了,所有数据行的记录就变多或者变少了。

38630

Go 语言中的 MySQL 事务操作

在现代应用程序,数据的完整性和一致性至关重要。MySQL 的事务功能提供了一种确保操作安全且可靠的机制。在这篇文章将介绍什么是事务,如何在 Go 语言中进行 MySQL 事务操作。...事务是一个包含一个或多个 SQL 操作的逻辑单元。在 MySQL ,事务确保了这些操作要么全部成功执行,要么在发生错误时全部回滚,保持数据的一致性。...这避免了脏读,但仍然不能防止“不可重复读”,即在同一事务两次读取相同的数据可能得到不同的结果。 避免脏读,但同一事务读取相同数据可能结果不同。...Repeatable Read 可重复读 在一个事务内,多次读取相同的数据将得到一致的结果。...不可重复读:同一个事务在多次读取,得到不同的结果。幻读:一个事务在读取过程,另一事务插入了新的数据,导致第一次和第二次读取结果不同。

6610
  • springboot事物oracle,SpringBoot 事务管理

    大家好,又见面了,是你们的朋友全栈君。 事务管理是项目中必不可少的一部分,使用SpringBoot时,可以方便的配置和使用事务管理器。 1....例:事务1需要多次读取数据A,第一次读取完成后,事务2对数据A有操作,事务1再次读取数据A,会读取到事务2操作的结果,但事务2因异常进行了回滚。这时候事务1对数据A就产生了脏读。...不可重复读:与脏读逻辑类似,一个事务读取到另一个事务已提交的 update数据,导致两次读取数据 值不一致。...未提交读):一个事务可以读取另一个事务修改但未提交的数据;不可避免脏读、不可重复读、幻读; READ_COMMITTED(已提交读):一个事务可以读取另一个事务已经提交的数据;可避免脏读,不可避免不可重复读...、幻读; REPEATABLE_READ(可重复度):一个事务在整个过程,可以多次执行某个查询,并且每次返回记录内容都相同;可避免脏读、不可重复读,不可避免幻读(MySQL可避免幻读是有前提的)。

    61910

    零基础入门分布式系统 5. Replication

    然而,在崩溃-恢复系统模型,需要将request(或一些关于request的元数据,向量时钟)存储在稳定的存储,这样即使在崩溃后也能准确地检测到重复的请求。...另一种记录重复请求以达到去重的方案是让请求idempotent幂等。...这些同时写入的值被称为conflicts冲突(或者有时称为siblings兄弟)。应用程序可以在之后将冲突合并回一个单一的值。...不可用性可能来自于一个有问题的节点(崩溃或硬件故障),或者来自于网络分区(无法通过网络到达一个节点),或者计划的维护(重启一个节点以安装软件更新)。...如果我们想确保无论以何种顺序递交并发更改,副本最终处于相同的状态,我们需要使这些更新满足交换律commutative:也就是说,我们必须确保无论这些更新以何种顺序应用,最终结果是一致的。

    70810

    按功能(特性)分包

    相反,我们可以按功能分包并创建独立自治的程序包。结果一个易于理解且不易出错的代码库。 ? 整体分析 按照技术分包造成的缺点: 对属于某个功能的所有的概述不佳。...通用软件包包含技术配置和可重复使用的代码 它包含技术配置(例如用于DI,Spring,对象映射,http客户端,数据库连接,连接池,日志记录,线程池) 它包含可重用的有用代码片段。...这关键,因为我们通常会在考虑某个业务需求的情况下访问代码库。 独立的和自治的。功能所需的大多数代码都位于一个程序。因此,我们避免依赖其他功能包。结果是:在开发功能时,我们不太可能破坏其他功能。...经验法则:如果要删除功能,则只需删除相应的程序包。 尽管如此,也可以在通用软件包重复使用东西,但它只应包含多次使用的代码(请参阅三定律))。它不应该包含业务逻辑。但是技术上有用是可以的。...但是Kotlin使其易于遵循: 使用数据,编写量身定制的特定于功能的结构(DTO或实体)仅需几行,而无需样板。 Kotlin允许将多个放在一个文件

    1K21

    Swift 的 Actors 使用以如何及防止数据竞争

    你可以在的文章Swift的Struct与class的区别中了解更多这方面的信息。 然而,与相比,Actor 有一个重要的区别:他们不支持继承。...在Actors之前,我们会使用各种锁来创建相同的结果。这种锁的一个例子是并发调度队列与处理写访问的屏障相结合。受在Concurrent vs....然而,你需要考虑到可能有另一个线程在等待调用chickenStartsEating,这可能会导致在我们打印出结果的时候有两只吃食的鸡。...为了更好地理解这个概念,让我们来看看这样的情况:你想把操作合并到一个方法,以防止额外的暂停。...我们还没有介绍 MainActor 实例,它本身就是一个主题。将确保在以后的文章中介绍这一点。希望您能够跟随并知道如何在您的应用程序中使用 Actor。

    2.5K10

    重构的七宗罪 | TW洞见

    小菜:不太清楚,就是想把这段代码改了,删了好多代码,测试好多都红了。...: 消除同一两个方法之间的重复代码 消除某一的长方法 重命名 删除A的死代码 简化复杂的条件语句 同时,重构的范围也应是那段坏味道的代码,在重构过程对其,也仅对其进行修改。...小菜:明白了。这一段代码其实就是想先去除重复问题的,结果改着改着就改到别的地方了。 2.不知道什么时候完工 经理,先改上50块钱的,你看行不行?...老子说:“治大国,烹小鲜。” 调整一个正在运行的系统也治国,不要期望一次性调整到漂亮的代码或架构,而是要遵循“小步前进”的方法。从问题着手,每次重构一小步。...在遇到的多次重构架构失败的例子,很多是因为越做越发现很难验证结果的正确性,越做越不知道改的对不对,最后发现很难回答老板和客户的问题不得不失败。

    80860

    Ask Apple 2022 与 Core Data 有关的问答 (下)

    程序与扩展程序数据同步Q:一个主应用程序一个扩展程序,它们都读取相同的 Core Data 数据库。但是,当我在主应用程序中进行更改时,的扩展程序在重新启动之前不会看到更改。...该方法的 Persistent History 部分有助于确保你不会大量重复地从数据库获取数据,并且仅在你需要的数据发生更改时才刷新。又是一个有关持久化历史跟踪的问题。...注意到,当我使用 Safari 客户端从 CloudKit 数据库删除一条记录时( 通过 CloudKit Dashboard ),该对象仍会保留在设备上的 Core Data 数据存储。...如何在 CloudKit 管理器与设备之间同步这些更改?谢谢!A:尚不清楚此工作流程是否会向 NSPersistentCloudKitContainer 生成推送通知。...的方法有什么问题?A:这听起来与另一个问题相似,在这个问题中建议使用谓词来过滤只具有某种关系的对象。想同样的方法应该对你有用?

    3.2K20

    测试应用启动性能

    当您调用了该可选方法时,系统会记录另一个带有时间戳和持续时间的日志: 2020-11-18 15:44:02.171 1279-1336/system_process I/ActivityTaskManager...自动化启动 性能测试总是应当多次去运行测试用例,以排除结果的可变因素。进行的运行次数越多,平均结果就越可靠。至少会尝试运行测试十次,但是做的次数更多效果会更好。...根据结果的变化程度以及时间的长短 (因为变量的存在会对持续时间更短的测试产生更大的影响),可能需要运行更多次才行。 疯狂就是重复做相同的事情,却期待不同的结果。...而且这种操作不具备一致性,且有许多难以预测的因素,因为容易就会引入变量——您偶然间错误地启动了另一个应用,或者使系统做了额外的工作而无法获得计时结果。...您可以一遍又一遍地在控制台中输入这些内容,但是在 shell ,我们可以将这些命令放在循环里,然后只用一个命令就可以重复运行它。

    36610

    学术科研无从下手?27 条机器学习避坑指南,让你的论文发表少走弯路

    温馨提示: 做出假设是可以的,但是这些假设应该只被纳入模型的训练 (training) ,而非测试 (testing) 。...温馨提示: 报告多次评估的均值和标准差的同时,建议保留单个分数记录,以备后续使用统计检验 (statistical tests) 对模型进行比较。...广义上讲,比较机器学习模型的 test 分为两:第一用于比较同类模型实例,比较两个训练好的决策树时,可以选用 McNemar 检验;第二适用于更通用的模型比较,比较决策树和神经网络哪个更适合时...阶段 5:报告结果 学术研究需要对知识有贡献,这要求报告研究工作的整体情况,包括哪些工作成功、哪些失败。机器学习通常和 trade-offs 相关,一个模型在所有方面都比另一个模型好是很少见的。...所以在报告结果时需要体现这一点。 5.1 报告需要透明 把所有研究工作都透明地分享出来,这利于其他人重复这项实验,也方便人们比较模型。清晰地记录实验及写出整洁的代码,对自己和他人都有好处。

    44010

    学术科研无从下手?27 条机器学习避坑指南,让你的论文发表少走弯路

    温馨提示: 做出假设是可以的,但是这些假设应该只被纳入模型的训练 (training) ,而非测试 (testing) 。  ...温馨提示: 报告多次评估的均值和标准差的同时,建议保留单个分数记录,以备后续使用统计检验 (statistical tests) 对模型进行比较。  ...广义上讲,比较机器学习模型的 test 分为两:第一用于比较同类模型实例,比较两个训练好的决策树时,可以选用 McNemar 检验;第二适用于更通用的模型比较,比较决策树和神经网络哪个更适合时...阶段 5:报告结果 学术研究需要对知识有贡献,这要求报告研究工作的整体情况,包括哪些工作成功、哪些失败。机器学习通常和 trade-offs 相关,一个模型在所有方面都比另一个模型好是很少见的。...所以在报告结果时需要体现这一点。  5.1 报告需要透明  把所有研究工作都透明地分享出来,这利于其他人重复这项实验,也方便人们比较模型。清晰地记录实验及写出整洁的代码,对自己和他人都有好处。

    26030

    干货 | 时间序列数据的对齐和数据库的分批查询

    它能够将整块代码巧妙地隔离成易管理的一小块,把重复代码放在函数,而不是进行大块的复制,这是一个程序员应该具备的基本技能。...2.2 问题分析 这里我们将一张表的信息用一个 list 的形式来表示: 每一行记录为这个列表的一个元素,每行记录一个元组tuple (python另一个常用的数据结构,与list的区别在于list...到这里就需要跟大家讲讲Python另一个非常重要的概念——。 3.1 Python知识点之类与对象 我们常说有两种程序设计的方式:面向过程和面向对象。在Python,这两种编程方式都可实现。...面向对象的一个特点就在于,把操作同一组数据的各种功能集成在一起;对象的属性就表示要操作的这组数据,对象的方法就是要怎么操作这些数据。 而在有对象之前,必须要有。...for l in btr: print(l) 输出结果: ? 版本2.0:实现重复迭代功能 但是如果就是想能够重复遍历,而又不想重新创建实例化对象怎么办呢?

    3K50

    机器学习算法:选择您问题的答案

    RL(强化学习)是机器学习领域中涉及软件应用应该如何在不同环境采取行动来最大化累积奖励的方法。 0__kHG2VXXHjzX7vZe.png 想象一下,你是一个被放置在陌生环境的机器人。...它采用线性组合的特征,并对其应用非线性函数(sigmoid),所以它是一个非常小的神经网络实例! 决策树 另一个流行和易于理解的算法是决策树。...假设你想把所有的数据对象分成k个簇。您需要从数据中选择随机的k个点,并将它们作为集群的中心。其他对象的集群由最近的集群中心定义。然后,集群的中心被转换并重复该过程直到收敛。...其次,结果取决于在开始时随机选择的点,算法不保证我们将实现功能的全局最小值。 有一系列不同优缺点的聚方法,您可以在推荐阅读中学习。 主成分分析(PCA) 你有没有准备好在晚上甚至是早上准备好考试呢?...决策树:通常与人们的决策过程类似,易于解释,但是它们最常用于诸如随机森林或梯度提升的组合。 K-means:一个原始但容易理解的算法,可以作为各种问题的基线完美。

    1.1K70

    【翻译】使用Akka HTTP构建微服务:CDC方法

    生产者特定的依赖关系仅用于数据库支持,您所见,使用H2(在内存数据库),但您可以轻松地将其替换为其他数据库支持。...另外,总是建议采用增量方法(即使是小型项目),所以在这种情况下,我们可以构建一个服务器来公开一个API并返回两个类别的静态列表(Pact文件定义的),然后添加配置支持,数据库支持,迁移支持等。...还有其他类似的库,Argonaut和JSON4S,可以按你想法评估所有这些库,并选择最适合您需求的库。 如果我们再次执行测试,我们现在应该得到一条绿线。再次,添加更多的测试,以涵盖每一个案例。...您可以在官方文档中找到更多关于如何在Slick实现实体和DAO的示例和信息。...解决了如何在消费者和提供者项目之间共享契约验证结果的问题 告诉您可以将应用程序的哪个版本安全地部署在一起,自动地将您的合同版本部署在一起 允许您确保多个消费者版本和提供者版本之间的向后兼容性(例如,在移动或多租户环境

    2K30

    2022 最新 Spring 面试题(一)

    (会造成幻读、不可重复读),SQL server 的默认级别; ISOLATIONREPEATABLEREAD:可重复读,保证多次读取同一个数据时,其值都和事务开始时候的内容是一致,禁止读取到别的事务未提交的数据...脏读 :表示一个事务能够读取另一个事务还未提交的数据。比如,某个事务尝试插入记录 A,此时该事务还未提交,然后另一个事务尝试读取到了记录 A。 不可重复读 :是指在一个事务内,多次读同一数据。...幻读 :指同一个事务内多次查询返回的结果集不一样。比如同一个事务 A 第一次查询时候有 n 条记录,但是第二次同等条件下查询却有 n+1 条记录,这就好像产生了幻觉。...发生幻读的原因也是另外一个事务新增或者删除或者修改了第一个事务结果集里面的数据,同一个记录的数据内容被修改了,所有数据行的记录就变多或者变少了。...MVC 模式有助于分离应用程序的不同方 面,输入逻辑 ,业务逻辑和 UI 逻辑 ,同时在所有这些元素之间提供松散耦合 。

    8010

    接口幂等性的解决方案

    在编程,幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数指的是那些使用相同参数重复执行也能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。...幂等在的理解里就是,一个操作不论被执行多少次,产生的效果和返回的结果都是一样的。 一个幂等的操作典型:把编号为5的记录的A字段设置为0这种操作不管执行多少次都是幂等的。...一个非幂等的操作典型:把编号为5的记录的A字段增加1这种操作显然就不是幂等的。 幂等的方案 1.查询操作:Select是天然的幂等操作。...查询一次和查询多次,在数据不变的情况下,查询的结果都是一样的。 2.删除操作:删除操作也是幂等的,删除一次和删除多次都是把数据删除。...这样,当第二次请求往特殊订单表插入一个用户关联的特殊订单记录的时候,数据库就会报错并回滚插入操作,也就保证了幂等。 4.Token校验机制:操作前先校验Token,以防止页面重复提交。

    63220

    java注解的工作原理及使用场景(Demo小记)

    上述两种观点可能会让你疑惑,两者观点似乎构成了一种循环,但各有利弊。下面我们通过一个例子来理解这两者的区别。...我们来看两个例子:一个是标准的注解@Override,另一个是用户自定义注解@Todo。...当然,不要惊讶,是逗你玩的。@Override注解的定义不仅仅只有这么一点代码。这部分内容很重要,不得不再次重复:Annotations仅仅是元数据,和业务逻辑无关。理解起来有点困难,但就是这样。...上述两种观点可能会让你疑惑,两者观点似乎构成了一种循环,但各有利弊。下面我们通过一个例子来理解这两者的区别。...当然,不要惊讶,是逗你玩的。@Override注解的定义不仅仅只有这么一点代码。这部分内容很重要,不得不再次重复:Annotations仅仅是元数据,和业务逻辑无关。理解起来有点困难,但就是这样。

    96620

    Google 是如何设计 Ruby Serverless Runtime 的?

    这就是为什么这种“顶级”方法在简单的单文件 Ruby 脚本和 Rakefiles 常见,但在大型 Ruby 应用程序不推荐使用。...对于一个好的 FaaS 系统来说,部署和冷启动的速度至关重要。在 serverless 的世界,您的代码可能会快速连续地更新、部署和拆除许多次,因此消除瓶颈(解析和安装依赖项)是至关重要的。...这是执行最佳实践的另一个决策。如果在部署期间重新解析了锁文件,那么您的构建可能是不可重复的,并且您可能没有针对测试时使用的相同依赖项运行。...例如,容易将 Sinatra 应用程序置于云函数之上,因为它们都能支持 Rack。 从长远来看,我们越来越希望函数即服务(Faas)能够作为事件系统一个组件。...但在所有情况下,设计运行时的经验提醒,我们处在一个不断变化的行业。Serverless 只是一系列变化的最新一个这些变化包括公共云,甚至包括 Rails 和 Ruby 本身。

    2.2K60

    Java的注解是如何工作的?

    事实上,@Override告诉编译器这个方法是一个重写方法(描述方法的元数据),如果父不存在该方法,编译器便会报错,提示该方法没有重写父的方法。...如果不小心拼写错误,例如将toString()写成了toStrring(){double r},而且也没有使用@Override注解,那程序依然能编译运行。但运行结果会和我期望的大不相同。...我们来看两个例子:一个是标准的注解@Override,另一个是用户自定义注解@Todo。 ? 对于@Override注释你可能有些疑问,它什么都没做,那它是如何检查在父中有一个同名的函数呢。...当然,不要惊讶,是逗你玩的。@Override注解的定义不仅仅只有这么一点代码。这部分内容很重要,不得不再次重复:Annotations仅仅是元数据,和业务逻辑无关。理解起来有点困难,但就是这样。...之前提到的应用框架Spring和Hibernate使用AOP(面向侧面的程序设计)。在AOP,框架提供了一种机制,在事件的预处理和后续处理中注入代码。

    1.5K30

    Python分析测试数据实践

    特总结一下,作为工具语言,Python 还是非常不错的,推荐使用。 1. 背景说明 近期在分析一些测试脚本产生的数据。这些测试脚本会执行大量SQL样本,并将结果输出到日志。...4).正则基础:重复 正则表达式第一功能是能够匹配不定长的字符集,另一个功能就是你可以指定正则表达式的一部分的重复次数。 *,指定前一个字符可以被匹配零次或多次,而不是只有一次。...+,表示匹配一或多次,至少出现一次。 ?,匹配一次或零次,可以用于标识某字符是可选的 {m,n},至少有m个重复,至多到n个重复。...虽然人工是可以判断,其应该是一问题,但系统无法自动判断。当面对庞大的数据集时,如何快速收敛结果成为一个难点。这里一个解法,就是使用文本相似度,将文本相似度较高的归为一。...Python里容易实现。 输出结果 里面包括错误类别,解释及出现的次数。 Python:写入excel示例 6. 步骤:图形化数据 再往前走一步,有了规格化的数据后,如何更好的展示出来。

    49320
    领券