C#.NET中数据绑定到文本框的性能

C#.NET中数据绑定到文本框的性能,c#,winforms,performance,data-binding,C#,Winforms,Performance,Data Binding,我在一个非常高性能的WinForms应用程序中工作,我从服务器获取一些数据,并在GUI上的文本框中显示这些结果。从性能角度来看,将这些文本框绑定到代码中的某些变量,或者在代码中只包含类似textbox1.text=data的内容,会更好吗?或者只是一样其实没什么关系。重要的是您获取数据的方式。如果您有一些缓慢的操作,如数据库查询,您可以在后台线程中执行这些操作,可能会在运行此操作时使用,以避免冻结主UI线程。这其实并不重要。重要的是您获取数据的方式。如果您有一些缓慢的操作,如数据库查询,您可以在

我在一个非常高性能的WinForms应用程序中工作,我从服务器获取一些数据,并在GUI上的文本框中显示这些结果。从性能角度来看,将这些文本框绑定到代码中的某些变量,或者在代码中只包含类似textbox1.text=data的内容,会更好吗?或者只是一样

其实没什么关系。重要的是您获取数据的方式。如果您有一些缓慢的操作,如数据库查询,您可以在后台线程中执行这些操作,可能会在运行此操作时使用,以避免冻结主UI线程。

这其实并不重要。重要的是您获取数据的方式。如果您有一些缓慢的操作,如数据库查询,您可以在后台线程中执行这些操作,可能会在运行此操作时使用,以避免冻结主UI线程。

当您用数据填充某些视图时,性能不是您的主要问题(通常)

从开发和进一步维护的角度来看,绑定很方便。它们不允许您在用户编辑值后忘记将值放回数据源。此外,它们还与数据验证紧密结合。事实上,像WPF这样的高级绑定引擎使数据绑定成为在GUI中处理数据的唯一无痛方法


WinForms中的绑定引擎比WPF中的绑定引擎更简单(从它所具有的特性来看),但它仍然比
textbox1.text=data

好。当您用数据填充某些视图时,性能不是您的主要问题(通常)

从开发和进一步维护的角度来看,绑定很方便。它们不允许您在用户编辑值后忘记将值放回数据源。此外,它们还与数据验证紧密结合。事实上,像WPF这样的高级绑定引擎使数据绑定成为在GUI中处理数据的唯一无痛方法


WinForms中的绑定引擎比WPF中的绑定引擎更简单(从其功能的角度来看),但它仍然比
textbox1.text=data

好,我不确定您到底输出了什么,但这可能有助于性能考虑:

迭代地将数据/文本附加到文本框或字符串之类的内容(例如,在使用文本框.text+=“message”之类的内容记录错误消息的情况下)是一种O(n2)操作,这意味着输出越大,您将看到的速度越慢

此外,在我的实验中,迭代添加文本作为输出

textBox.Text += "message";
大约比直接追加到字符串然后执行(在迭代结束时)慢3200倍

使用


甚至更慢(大约9600次)。

我不确定您到底输出了什么,但这可能有助于性能考虑:

迭代地将数据/文本附加到文本框或字符串之类的内容(例如,在使用文本框.text+=“message”之类的内容记录错误消息的情况下)是一种O(n2)操作,这意味着输出越大,您将看到的速度越慢

此外,在我的实验中,迭代添加文本作为输出

textBox.Text += "message";
大约比直接追加到字符串然后执行(在迭代结束时)慢3200倍

使用


甚至更慢(大约9600倍)。

哪种技术?WPF?WinForms?我使用的是C#.NET WinForms WinForms是哪种技术?WPF?WinForms?我正在使用C#.NET WinForms WinForms
textBox.AppendText("message");