网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 操作系统 > Windows >

1-1-250502C#字典应用

时间:2025-05-02 18:12

人气:

作者:admin

标签:

导读:用户需求: 1)通过扫码枪扫取设备条形码,作为当前拟采集数据的设备对应的标签 2)定时(如每5秒)读取并记录一次设备的状态参数 基于C#的解决方案: 在C#中,声明字典,其中字典...
  1. 用户需求:
    1) 通过扫码枪扫取设备条形码,作为当前拟采集数据的设备对应的标签
    2) 定时(如每5秒)读取并记录一次设备的状态参数

  2. 基于C#的解决方案:
    在C#中,声明字典,其中字典的键相当于设备的条形码,字典的值相当于定时(如每5秒)读取并记录的设备的状态参数值
    序号 名称 内容
    1 键 扫码枪扫描的,设备标签条码字符串
    2 值 设备标签对应的定时读取参数信息,存储在List

  3. 具体验证方式:
    1) 点击bt1按钮,将当前时间标签模拟扫码枪随机扫码标签,并启用定时器timer1,开始执行定时(每5秒)读取对应状态参数(以随机数模拟),并显示在相应textbox文档中
    2) 点击bt2按钮,采集数据结束,并显示结束采集时间
    3) 点击bt3按钮,显示字典中的键值对,并跟实时采集文本框对应,以验证键值对是否首先存入字典

    4.具体代码
    1)拖动timer控件至界面,并设置Interval为5000(意为每5000ms执行一次)

    2)具体代码实现
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace winform250502_设备标签及相应数据采集
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//声明随机数变量,DateTime变量,及字典
Random var随机数 = new Random();
private DateTime var当前时间;
Dictionary<DateTime, List> var字典 = new Dictionary<DateTime, List>();

    // 点击按钮1时,记录当前时间作为字典的键,并new一个准备存放数据的list

    private void button1_Click_1(object sender, EventArgs e)
    {
        var当前时间 = DateTime.Now;
        textBox1.Text = var当前时间.ToString();
        var字典[var当前时间] = new List<int>();
        timer1.Start();
    }
    //定义timer事件,添加字典的键值对,并遍历字典的键值对显示在textbox3中
    private void timer1_Tick_1(object sender, EventArgs e)
    {
        var字典[var当前时间].Add(var随机数.Next(0, 101));
        textBox3.Clear();
        foreach (var kvp in var字典)
        {
            string dataString = $"条码: {kvp.Key}\n参数: {string.Join(", ", kvp.Value)}\n\n";
            textBox3.AppendText(dataString);
        }
    }
    //点击button2,模拟结束当前设备参数采集,记录当前关闭时间并关闭timer事件,
    private void button2_Click_1(object sender, EventArgs e)
    {
        var当前时间 = DateTime.Now;
        textBox2.Text = var当前时间.ToString();
        timer1.Stop();
    }

    //点击button3,同样遍历显示字典键值对.即设备标签及对应参数,以验证是否首先存入字典,以便于后续扩展   
    private void button3_Click_1(object sender, EventArgs e)
    {
        textBox4.Clear();
        foreach (var kvp in var字典)
        {
            string dataString = $"条码: {kvp.Key}\n参数: {string.Join(", ", kvp.Value)}\n\n";
            textBox4.AppendText(dataString);
        }
    }    
}

}

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信