【发布时间】:2015-04-02 16:32:18
【问题描述】:
请告诉我这是否可行以及如何获得。
In C# I have a struct like:
public struct FrmData{
int num;
int x;
Timer t;
}
我使用的不是字典,其中 value 是那个结构。
public Dictionary<int, FrmData> dictionary;
当我的 Timer t 结束时,他会引发事件
public void eventHandlerTick(object sender, EventArgs e){
switch(key){case 1:break;}
}
我的问题是:我能以某种方式从引发此事件的计时器中获取字典的键吗?! 谢谢你
【问题讨论】:
-
object sender应该是计时器。您可以将 Timer 本身用作字典Dictionary<Timer, FrmData>中的键,因此可以通过dictionary[sender as Timer]获取表单数据 -
如果你使用
struct,你不应该有一个可变结构,尽管在这种情况下你根本不应该使用struct,因为你的值在概念上不是表示单个值。 -
我不能使用 Timer 作为键,必须是一个结构作为值,因为这个结构是示例。我的真实结构有更多的数据,而 Timer 必须是其中之一。我是 C# 新手,目前不知道另一种解决方法。我需要这个快。不过谢谢。
-
@DraženkaLadišić 事实上,您是实际类型有更多数据,这使得该类型更适合作为一个类,而不是
struct。 -
可能,但正如我所说,我对此完全陌生,结构是我首先想到的。但谢谢你的建议。下次我将使用类。
标签: c# dictionary struct timer key