C#编程语句中,使用什么方法才能使等待时程序界面也有影响呢?比如用Thread.Sleep会使界面无反应的
时间: 2023-05-20 10:07:42 浏览: 109
C是一种通用的编程语言,是一种面向过程的程序设计语言。它有丰富的库支持,效率高,运行速度快,被广泛应用于系统级编程、操作系统开发、嵌入式系统开发、游戏开发、科学计算和大数据处理等领域。在计算机科学教育中,C语言也被广泛应用,作为编程基础课程的主要教学语言之一。
相关问题
private void RunObedient(int abc) { byte[] Action_array = new byte[13]; int kl = 0; Task.Run(() => { for(int i=0;i< abc;i++) { for (int k = 0; k < Obedient.GetLength(0); k++) { if (Obedient[k, 0] == 1 && Obedient[k, 1] == 1 && Obedient[k, 2] == 1) { break; } else { Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(1, Obedient[k, 0],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(2, Obedient[k, 1],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(3, Obedient[k, 2],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(4, Obedient[k, 3],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(5, Obedient[k, 4],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(6, Obedient[k, 5],1000); sendSerailPortData(Action_array); Thread.Sleep(200); Action_array = FDServo.FD_Write_Action_Cmd(7, Obedient[k, 6],1000); sendSerailPortData(Action_array); Thread.Sleep(200); C#中这段代码的含义
这段代码是一个 C# 中的方法,方法名为 RunObedient,该方法接受一个整数类型参数 abc。该方法包含了一个 Task.Run() 方法,该方法会在新的线程中执行一个循环,循环次数为 abc。在循环中,使用了两个 for 循环,分别遍历了二维数组 Obedient 的每一行和每一列。在内部的 for 循环中,使用了一些条件语句和线程休眠方法,控制了执行过程的流程和速度。在每次循环迭代中,调用了 FDServo 类的 FD_Write_Action_Cmd() 方法,该方法会返回一个 byte 类型的数组,该数组存储了执行动作的指令内容。最后,通过 sendSerailPortData() 方法将指令内容发送到串口,完成动作的执行。该方法的主要作用就是按照给定的 Obedient 数组中的动作指令执行机器人的动作。
阅读全文