c#中怎么清空一个数组

水目 2009-10-22 04:07:13
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication2
{

public partial class Form1 : Form
{

String[] stuname = new string[4];
int [,] score=new int [4,6];
int stuNum = 0;

public Form1()
{
InitializeComponent();
label0.Text = "输入第" + 1 + "个学生:";

}

private void button1_Click(object sender, EventArgs e)
{
stuname[stuNum]=textBox0.Text;
score[stuNum, 0] = int.Parse(textBox1.Text);
score[stuNum, 1] = int.Parse(textBox2.Text);
score[stuNum, 2] = int.Parse(textBox3.Text);
score[stuNum, 3] = int.Parse(textBox4.Text);
score[stuNum, 4] = int.Parse(textBox5.Text);
int total = 0;
for (int i = 0; i < score.GetLength(1) - 1; i++)
{
total += score[stuNum , i];

total /= score.GetLength(1) - 1;
score[stuNum, 5] = total;
stuNum++;
label0.Text = "输入第" + (stuNum+1) + "个学生:";
string str="";
//点击输入显示之后 聚焦到textBox0 开始下一位学生成绩的输入
textBox0.Text = " ";
textBox1.Text = " ";
textBox2.Text = " ";
textBox3.Text = " ";
textBox4.Text = " ";
textBox5.Text = " ";
textBox0.Focus();
for (i = 0; i < score.GetLength(0); i++)
{
str += stuname[i] + "\t ";
for (int j = 0; j < score.GetLength(1); j++)
{
str += score[i, j] + "\t ";

}
str += "\r\n";
}
textBox6.Text = str;
if (stuNum >= stuname.GetLength(0))
{
textBox0.Enabled = false;
textBox1.Enabled = false;
textBox2.Enabled = false;
textBox3.Enabled = false;
textBox4.Enabled = false;
textBox5.Enabled = false;
button1.Enabled = false;
}
}
}
private void button2_Click(object sender, EventArgs e)
{

textBox0.Enabled = true;
textBox1.Enabled = true;
textBox2.Enabled = true;
textBox3.Enabled = true;
textBox4.Enabled = true;
textBox5.Enabled = true;
button1.Enabled = true;
textBox6.Clear();
String[] stuname = new string[4];
int[,] score = new int[4, 6];
//清空各个文本框
textBox0.Text = " ";
textBox1.Text = " ";
textBox2.Text = " ";
textBox3.Text = " ";
textBox4.Text = " ";
textBox5.Text = " ";
textBox0.Focus();

stuNum = 0;
label0.Text = "输入第 1 个学生:";

}

private void button3_Click(object sender, EventArgs e)
{
// 判断是否退出
DialogResult choice;
choice = MessageBox.Show(" 你确定要退出吗?"," ", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if (choice == DialogResult.OK)
{
this.Close();
Application.Exit();
}


}


}
}


以上是源码 我的目的是在清空文本框之后 数组也被清空 现在的状态是 第二次输入的时候 只能覆盖掉第一次输入的

值 我想在第二次输入的时候 数组的值为0 和第一次输入的时候一样

最最重要的 刚开始学 最好不要太难懂的 谢谢
...全文
8559 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangyu23 2012-05-14
  • 打赏
  • 举报
回复
有用的,谢谢!!
水目 2009-10-22
  • 打赏
  • 举报
回复
O 这样啊 谢谢您了
风之影子 2009-10-22
  • 打赏
  • 举报
回复
上边是我的数组 下面是用Array.Clear得 按你上边的说法 第一个string数组应该是null值 但是运行不了 无法转换 我用了0 可以清空 不知是否我理解错误你的意思了

Clear的第二个参数是所要清除数组的起始索引,第二个是要清楚的元素数.

你上面的写法是对的,不会报错.

水目 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 libinguest 的回复:]
如果你的数组是string型的,那么clear后就全成null值.
如果是int型的clear后就全是0
[/Quote]

String[] stuname = new string[4];
int [,] score=new int [4,6];

Array.Clear(stuname, 0, stuname.Length);
Array.Clear(score, 0, score.Length);

上边是我的数组 下面是用Array.Clear得 按你上边的说法 第一个string数组应该是null值 但是运行不了 无法转换 我用了0 可以清空 不知是否我理解错误你的意思了
风之影子 2009-10-22
  • 打赏
  • 举报
回复
如果你的数组是string型的,那么clear后就全成null值.
如果是int型的clear后就全是0
风之影子 2009-10-22
  • 打赏
  • 举报
回复
错了,
用下面的:

Array.Clear(你的数组,0,你的数组.Length);
zylsky 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 libinguest 的回复:]
数组.Initialize();
[/Quote]

ok
风之影子 2009-10-22
  • 打赏
  • 举报
回复
数组.Initialize();
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧