欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#?winform中ComboBox數(shù)據(jù)綁定的兩種方法及效率詳解

 更新時(shí)間:2023年08月04日 08:38:13   作者:chentiebo  
這篇文章主要給大家介紹了關(guān)于C#?winform中ComboBox數(shù)據(jù)綁定的兩種方法及效率,Winform?ComboBox數(shù)據(jù)綁定是指將數(shù)據(jù)源中的數(shù)據(jù)與ComboBox控件進(jìn)行關(guān)聯(lián),需要的朋友可以參考下

一、ComboBox兩種數(shù)據(jù)綁定的方法

1.1、方法一、DataTable

           //創(chuàng)建DataTable
            DataTable dataTable = new DataTable();
 
            dataTable.Columns.Add("ID");
            dataTable.Columns.Add("Name");
 
            DataRow dataRow = dataTable.NewRow();
 
            dataRow["ID"] = "1";
            dataRow["Name"] = "方法1-測(cè)試1";
            dataTable.Rows.Add(dataRow);
 
            DataRow dataRow1 = dataTable.NewRow();
            dataRow1["ID"] = "2";
            dataRow1["Name"] = "方法1-測(cè)試2";
            dataTable.Rows.Add(dataRow1);
 
            DataRow dataRow2 = dataTable.NewRow();
            dataRow2["ID"] = "3";
            dataRow2["Name"] = "方法1-測(cè)試3";
            dataTable.Rows.Add(dataRow2);
 
            // ComboBox數(shù)據(jù)綁定
            this.comboBox1.DataSource = dataTable;
            comboBox1.DisplayMember = "Name";
            comboBox1.ValueMember = "ID";

1.2、方法二、List

       //創(chuàng)建Test類
        public class Test
        {
            public Test() { }
            public Test(int sid, string name, int age)
            {
                SID = sid;
                Name = name;
                Age = age;
            }
            public string Name { get; }
            public int Age { get; }
            public int SID { get; }
         }
        public List<Test> GetDate2()
        {
            List<Test> list = new List<Test>();
            Test test = new Test(1, "方法二--測(cè)試1", 21);
            list.Add(test);
            Test test1 = new Test(2, "方法二--測(cè)試2", 22);
            list.Add(test1);
            Test test2 = new Test(3, "方法二--測(cè)試3", 23);
            list.Add(test2);
           // ComboBox數(shù)據(jù)綁定Lsit
            this.comboBox2.DataSource = list;
            comboBox2.DisplayMember = "Name";
            comboBox2.ValueMember = "SID";
            return list;
        }

二、比較兩種方法的效率

2.1、窗體設(shè)計(jì)

2.2、代碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            方法一
            //this.comboBox1.DataSource = GteDate1();
            //comboBox1.DisplayMember = "Name";
            //comboBox1.ValueMember = "ID";
            方法二
            //this.comboBox2.DataSource = GetDate2();
            //comboBox2.DisplayMember = "Name";
            //comboBox2.ValueMember = "SID";
            #region 處理2
            //創(chuàng)建計(jì)時(shí)
            Stopwatch str1 = new Stopwatch();
            //計(jì)時(shí)開始
            str1.Start();
            //運(yùn)行方法一
            GetDate1();
            // 計(jì)時(shí)停止
            str1.Stop();
            //控件label1顯示出總共花費(fèi)的時(shí)間(單位毫秒)
            this.label1Time1.Text = str1.Elapsed.TotalMilliseconds.ToString();
            //創(chuàng)建計(jì)時(shí)
            Stopwatch str2 = new Stopwatch();
            //計(jì)時(shí)開始
            str2.Start();
            //運(yùn)行方法二
            GetDate2();
            // 計(jì)時(shí)停止
            str2.Stop();
            //控件label1顯示出總共花費(fèi)的時(shí)間(單位毫秒)
            this.label1Time2.Text = str2.Elapsed.TotalMilliseconds.ToString();
            #endregion 
        }
        #region ComboBox兩種數(shù)據(jù)綁定的方法
        //方法一,dataTable
        public DataTable GetDate1()
        {
            //創(chuàng)建DataTable
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("ID");
            dataTable.Columns.Add("Name");
            DataRow dataRow = dataTable.NewRow();
            dataRow["ID"] = "1";
            dataRow["Name"] = "方法1-測(cè)試1";
            dataTable.Rows.Add(dataRow);
            DataRow dataRow1 = dataTable.NewRow();
            dataRow1["ID"] = "2";
            dataRow1["Name"] = "方法1-測(cè)試2";
            dataTable.Rows.Add(dataRow1);
            DataRow dataRow2 = dataTable.NewRow();
            dataRow2["ID"] = "3";
            dataRow2["Name"] = "方法1-測(cè)試3";
            dataTable.Rows.Add(dataRow2);
            // 數(shù)據(jù)綁定
            this.comboBox1.DataSource = dataTable;
            comboBox1.DisplayMember = "Name";
            comboBox1.ValueMember = "ID";
            return dataTable; 
        }
        // 方法二,list
            //創(chuàng)建Test類
        public class Test
        {
            public Test() { }
            public Test(int sid, string name, int age)
            {
                SID = sid;
                Name = name;
                Age = age;
            }
            public string Name { get; }
            public int Age { get; }
            public int SID { get; }
         }
        public List<Test> GetDate2()
        {
            List<Test> list = new List<Test>();
            Test test = new Test(1, "方法二--測(cè)試1", 21);
            list.Add(test);
            Test test1 = new Test(2, "方法二--測(cè)試2", 22);
            list.Add(test1);
            Test test2 = new Test(3, "方法二--測(cè)試3", 23);
            list.Add(test2);
            this.comboBox2.DataSource = list;
            comboBox2.DisplayMember = "Name";
            comboBox2.ValueMember = "SID";
            return list;
        }
         #endregion
    }
}

2.3、兩種方法消耗時(shí)間對(duì)比

list相對(duì)于DataTable消耗的時(shí)長(zhǎng)要少

總結(jié)

到此這篇關(guān)于C# winform中ComboBox數(shù)據(jù)綁定的兩種方法及效率的文章就介紹到這了,更多相關(guān)C# winform ComboBox數(shù)據(jù)綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#抓取當(dāng)前屏幕并保存為圖片的方法

    C#抓取當(dāng)前屏幕并保存為圖片的方法

    這篇文章主要介紹了C#抓取當(dāng)前屏幕并保存為圖片的方法,實(shí)例分析了C#操作圖片的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • OpenXml讀取word內(nèi)容的實(shí)例

    OpenXml讀取word內(nèi)容的實(shí)例

    下面小編就為大家分享一篇OpenXml讀取word內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • C# 實(shí)現(xiàn)基于ADO.NET框架的DBHelper工具類(簡(jiǎn)化數(shù)據(jù)庫(kù)操作)

    C# 實(shí)現(xiàn)基于ADO.NET框架的DBHelper工具類(簡(jiǎn)化數(shù)據(jù)庫(kù)操作)

    ADO.NET是.NET框架中用于與數(shù)據(jù)庫(kù)交互的核心組件,提供了一套用于連接數(shù)據(jù)庫(kù)、執(zhí)行SQL查詢、插入、更新和刪除數(shù)據(jù)的類庫(kù),包括SqlConnection、SqlCommand、SqlDataReader等,本文介紹如何使用DBHelper類封裝數(shù)據(jù)庫(kù)操作,以提高代碼的可維護(hù)性和復(fù)用性,感興趣的朋友一起看看吧
    2024-08-08
  • C#通過(guò)配置文件動(dòng)態(tài)修改web.config內(nèi)容的操作步驟

    C#通過(guò)配置文件動(dòng)態(tài)修改web.config內(nèi)容的操作步驟

    這篇文章主要介紹了C#通過(guò)配置文件動(dòng)態(tài)修改web.config內(nèi)容的操作步驟,文中通過(guò)圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03
  • C#中Invoke的用法講解

    C#中Invoke的用法講解

    這篇文章主要介紹了C#中Invoke的用法講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C#中DataSet,DataTable,DataView的區(qū)別與用法

    C#中DataSet,DataTable,DataView的區(qū)別與用法

    這篇文章介紹了C#中DataSet,DataTable,DataView的區(qū)別與用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#連接mariadb(MYSQL分支)代碼示例分享

    C#連接mariadb(MYSQL分支)代碼示例分享

    這篇文章主要介紹了C#連接mariadb的方法,和MySQL連接方式差不多,大家參考使用吧
    2013-11-11
  • C#使用doggleReport生成pdf報(bào)表的方法

    C#使用doggleReport生成pdf報(bào)表的方法

    這篇文章主要介紹了C#使用doggleReport生成pdf報(bào)表的方法,結(jié)合實(shí)例形式分析了C# doggleReport安裝及使用具體操作技巧,需要的朋友可以參考下
    2017-06-06
  • C#實(shí)現(xiàn)主窗體最小化后出現(xiàn)懸浮框及雙擊懸浮框恢復(fù)原窗體的方法

    C#實(shí)現(xiàn)主窗體最小化后出現(xiàn)懸浮框及雙擊懸浮框恢復(fù)原窗體的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)主窗體最小化后出現(xiàn)懸浮框及雙擊懸浮框恢復(fù)原窗體的方法,涉及C#窗體及鼠標(biāo)事件響應(yīng)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 利用C#編寫Linux守護(hù)進(jìn)程實(shí)例代碼

    利用C#編寫Linux守護(hù)進(jìn)程實(shí)例代碼

    如今的編程是一場(chǎng)程序員和上帝的競(jìng)賽,程序員要開發(fā)出更大更好、傻瓜都會(huì)用到軟件,下面這篇文章主要給大家介紹了關(guān)于利用C#編寫Linux守護(hù)進(jìn)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-01-01

最新評(píng)論