初学C#之变量累加
在学习C#编写串⼝时,想⽤label表⽰出每次发送个数的累加值,定义了int num;,但是在调试界⾯那个值⼀直不变化,我就纳闷是定义了静态的还是怎么回事,⼀直没想明⽩就百度中,⽆意中发现我好想是把num的定义放在了函数体中,每次点击button时都会定义num=0;所以也就不会有累加,⽽是每次数值都是⼀个,下⾯附上改前改后代码
改前:
private void button3_Click(object sender, EventArgs e)  //每次发⼀个字节
{
int num = 0;
string[] sendbuff = richTextBox2.Text.Split();  //分割输⼊的字符串,判断有多少个字节需要发送
Debug.WriteLine("发送字节数:" + sendbuff.Length);
num += sendbuff.Length;
label1.Text = "TX:" + num.ToString();
foreach (string item in sendbuff)
{
int count = 1;
byte[] buff = new byte[count];
buff[0] = byte.Parse(item, System.Globalization.NumberStyles.HexNumber);//格式化字符串为⼗六进制数值writeline输出数值变量
s.Write(buff, 0, count);
}
}
改后:
int num = 0;
private void button3_Click(object sender, EventArgs e)  //每次发⼀个字节
{
string[] sendbuff = richTextBox2.Text.Split();  //分割输⼊的字符串,判断有多少个字节需要发送
Debug.WriteLine("发送字节数:" + sendbuff.Length);
num += sendbuff.Length;
label1.Text = "TX:" + num.ToString();
foreach (string item in sendbuff)
{
int count = 1;
byte[] buff = new byte[count];
buff[0] = byte.Parse(item, System.Globalization.NumberStyles.HexNumber);//格式化字符串为⼗六进制数值
s.Write(buff, 0, count);
}
}
总结:⼀个代码的位置很重要

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。