假设我有一个字典功能:
public static class Class1
{
public static void StatDict(int EventNumber, string EventCode)
{
Dictionary<int, string> Dict1 = new Dictionary<int, sting>();
Dictionary.Add(EventNumber, EventCode);
}
}
输入示例:EventNumber =&#39; 4&#39;,EventCode =&#39; 4TUI&#39; //这是从另一个类Class2提供的
我希望得到比较说,Int i = 4,在2级或函数到Dictionary 4的键,这样我就可以得出键4的值。(即&#39; 4TUI&#39; )。
public static class Class2
{
public void CompareIntToDictionary()
{
Int Compare= 4;
if (Compare == Dictionary(value);????????????????????? // *This part i need help with*
{
Do something!!!
}
}
}
任何人都能告诉我如何引用1类中存在的字典以便提取与该键相关联的值,如果匹配则表示我在其他地方定义的整数(即在另一个类中)?任何帮助将不胜感激,谢谢。
编辑:谢谢你,似乎它似乎做了伎俩,但下面的代码确实返回false,即使我知道密钥在那里,它跳过这个(因此是假的):int Compare = 4;
if (Class1.Dict1.ContainsKey(Compare))
{
var eventCodecheck = Class1.Dict1[Compare];
Debug.WriteLine("eventcode = " + eventCodecheck);
// Do something!!!
}
但是现在我遇到了我需要覆盖GetHashCode和Equals的问题,以便使用字典比较来自2个不同对象的键。
这是我使用的代码感谢有用的答案,但我不太确定如何覆盖GetHascode和Equals关于此:
public static class Class1
{
public static Dictionary<int, string> Dict1 { get; set; }
public static void StatDict(int EventNumber, string EventCode)
{
Dict1 = new Dictionary<int, string>();
Dict1.Add(EventNumber, EventCode);
Debug.WriteLine("EventNumber = " + EventNumber + " EventCode = " + EventCode);
}
}
public static class Class2
{
public static void CompareIntToDictionary()
{
int Compare = 4;
if (Class1.Dict1.ContainsKey(Compare))
{
var eventCodecheck = Class1.Dict1[Compare];
Debug.WriteLine("eventcode = " + eventCodecheck);
// Do something!!!
}
}
}
我正在学习这些东西。
答案 0 :(得分:1)
在Class1
中公开您创建的词典,并在Class2
中使用它:
public static class Class1
{
public static Dictionary<int, string> Dict1 { get; set; }
public static void StatDict(int EventNumber, string EventCode)
{
Dict1 = new Dictionary<int, sting>();
Dict1.Add(EventNumber, EventCode);
}
}
public static class Class2
{
public void CompareIntToDictionary()
{
int Compare = 4;
if (Class1.Dict1.ContainsKey(Compare))
{
var eventCode = Class1.Dict1[Compare];
// Do something!!!
}
}
}
最好使用对象而不是静态。
答案 1 :(得分:0)
感谢输入的人,如果你能帮助我,你可以随便打电话给我!
最后,我切换到修正问题的排序列表,但发布的代码帮助我指出了正确的方向,所以非常感谢。