English 中文(简体)
如何用两条钥匙执行理论?
原标题:How to implement a Dictionary with two keys?
  • 时间:2011-02-27 21:02:47
  •  标签:
  • c#
  • .net

我利用C#,想找到一种办法,来实施像依赖两个关键物体的独裁者这样的东西。

我有反对和str。 对于这两个价值观,我要分配一个双重价值。 因此,我应当使用什么样的结构? 或者我如何实施这种结构?

最佳回答

您可以拥有一个将两种特性集中起来的习俗类别,高于。 之后有<条码>。 IDictionary<Custom 班级,两倍;。

问题回答

要求使用类似的东西

Dictionary<Tuple<object,string>,double>

如果你使用的话。 NET 3.5 你可以使用图尔斯,因为图象4中增加了。

But you can easily create class, that will contain both of your keys and that can be used as key in a dictionary. Only things to do is to override Equals() and GetHashCode() methods in your key class, so Dictionary can use it as a key correctly.

应通过将你的两个关键点加以分类或加固,以合乎逻辑的方式加以实施。 更多相关信息: GetHashCode vs. Equals

你不一定需要。 如果您的反对推翻了GetHashCode的反对成员。

Dictionary<string, double> myDict = new Dictionary<string, double>();

myDict[myObj.GetHashCode() + myString] = myDouble;

1. 设立一个关键类别:

public class MyKey
{
    public String Str;
    public Object Obj;
}

然后:

Dictionary<MyKey, double> MyDict = new Dictionary<MyKey, double>();




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...

热门标签