Array.Clear(Array, Int32, Int32) 方法

本文详细介绍了C#编程中的Array类Clear方法,展示了如何使用Clear函数清空stuScoreSum数组的指定部分,并在btnCancel_Click事件中应用此功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 private void btnCancel_Click(object sender, EventArgs e)
 {
     txtStuScore.Text = "";
     txtAvgScore.Text = "";
     txtOverAvg.Text = "";
     Array.Clear(istuScoreSum, 0, n);
     n = 0;
     txtStuScore.Focus();
 }

//Clear(Array, Int32, Int32)    根据元素的类型,设置数组中某个范围的元素为零、为 false 或者为 null。

源文件是c#//Count

C#的Array 类使用说明

C#的Array 类使用说明_c# array-CSDN博客

对于这段代码,我们可以进行如下几个方面的优化: 1. 减少重复调用 在这段代码中,dataArray.at(i).toObject() 出现了多次,这样会增加不必要的计算。我们可以将其提取出来,赋值给一个对象,然后多次使用这个对象,从而减少计算量。 2. 优化数据类型 在这段代码中,对于一些字符串类型的变量,如parentId、phone、userId、userName、picture等,都是用clear()方法赋空值,这种方式比较耗费资源。我们可以将这些变量改为QString类型,并且在定义时就赋值为空字符串"",这样就不需要调用clear()方法了。 3. 减少创建对象 在这段代码中,每次循环都会创建一个QStandardItem和一个PersonItem对象,这样会占用大量的内存资源。我们可以将这些对象的创建放到循环外面,并且使用一个指针数组保存这些对象的指针,在循环中重复利用这些对象,从而减少内存的占用。 下面是优化后的代码: ```c++ QJsonObject obj; for (int i = 0; i < dataArray.count(); i++) { obj = dataArray.at(i).toObject(); T_departmentInfo departmentInfo; departmentInfo.departmentId = obj.value("departmentId").toString(); departmentInfo.departmentName = obj.value("departmentName").toString(); departmentInfo.departmentType = obj.value("departmentType").toInt(); //部门类型 0普通 1独立 departmentInfo.parentId = obj.value("parentId").toString(); departmentInfo.phone = obj.value("phone").toString(); departmentInfo.userId = obj.value("userId").toString(); //空为部门,非空为员工 departmentInfo.userName = obj.value("userName").toString(); departmentInfo.picture = obj.value("picture").toString(); PersonItem *personItem = nullptr; QStandardItem *item = nullptr; if (i < itemArray.size()) { item = itemArray.at(i); personItem = static_cast<PersonItem *>(ui->listView_department_person->indexWidget(departmentPersonModel->indexFromItem(item))); } else { item = new QStandardItem(departmentPersonModel->rowCount()); departmentPersonModel->appendRow(item); personItem = new PersonItem(ui->listView_department_person); itemArray.append(item); widgetArray.append(personItem); } item->setData(departmentInfo.departmentId, Qt::UserRole); personItem->setDepartmentInfo(departmentInfo); ui->listView_department_person->setIndexWidget(departmentPersonModel->indexFromItem(item), personItem); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值