C# 通过c处理对象#
我想知道如果:C# 通过c处理对象#,c#,winforms,dispose,C#,Winforms,Dispose,我想知道如果: private void tbName_TextChanged(object sender, EventArgs e) { var s=sender as TextBox; s.Text="Hello"; s.Dispose(); } 这是管理某些事件的正确方法吗? 我不想这样写: if(textbox1.Text.Equals(textbox2.text)) {...} 等等 编辑:我喜欢写一些函数: public bool isTextE
private void tbName_TextChanged(object sender, EventArgs e)
{
var s=sender as TextBox;
s.Text="Hello";
s.Dispose();
}
这是管理某些事件的正确方法吗?
我不想这样写:
if(textbox1.Text.Equals(textbox2.text))
{...}
等等
编辑:我喜欢写一些函数:
public bool isTextEquals(Object sender,String text)
{
var s =sender as TextBox;
if(s.Text.Equals(text))
return true;
return false;
}
这个功能能正常工作吗?此代码中可能存在内存泄漏?您为
TextChanged
事件设置的事件处理程序至少可以说是奇怪的。在正常情况下,你不太可能做这样的事情。
有更方便的方法访问引发事件的文本框
例如:
private void tbName_TextChanged(object sender, EventArgs e)
{
tbName.Text="Hello";
}
在这种情况下,处理文本框是一个巨大的禁忌,因为您实际上会破坏正在使用的文本框,因此该语句的效果将不是您所期望的。
事实上,您很少需要关心如何在.Net中处理对象和控件,因为框架在幕后为您管理这些方面做得相当好
现在,就比较而言,这是完全合法的,可读性更高:
var comparisonResult = sometextbox.Text == "Some text i want to compare";
相等运算符==
将为您完成这项工作,并且以后更易于阅读和维护。不需要凌乱的If语句
顺便说一句,我建议您阅读一些介绍.Net和C#的书籍,以便更好地了解该框架及其功能
希望这能有所帮助。当你问什么是管理活动的正确方法时,你到底想要什么?文本比较的目的是什么?我不明白你想达到什么目的?OP很混乱,但我不认为反对票在适当的地方。每个人都从0开始,所以至少我们可以伸出援助之手:)