所以我想使用引用类型作为.NET Dictionary的键...
例:
class MyObj
{
private int mID;
public MyObj(int id)
{
this.mID = id;
}
}
// whatever code here
static void Main(string[] args)
{
Dictionary<MyObj, string> dictionary = new Dictionary<MyObj, string>();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何为自定义对象生成哈希(即不是int,string,bool等)?我问,因为在我需要再次在Dictionary中查找内容之前,我用作键的对象可能会发生变化.如果哈希是从对象的地址生成的,那么我可能很好......但是如果它是从对象的成员变量的某种组合生成的那么我就麻烦了.
编辑:
我原本应该明确表示我并不关心在这种情况下对象的相等性......我只是在寻找快速查找(我想在没有更改代码的情况下进行1-1关联涉及的课程).
谢谢
所以,我必须在我的VS 2005项目中使用预编译的头文件.现在我有一个没有#include"stdafx.h"的共享源文件...如何在我的项目中包含共享源文件而不将stdafx.h添加到源文件的顶部而不关闭预编译头?
我有与纬度/经度值相关的数据块.我想从纬度/经度值创建一个查找键/哈希值,以便它可以用作查找地图或类似的东西.
我正在使用西方和南方的负值...因此5W,10S在程序中表示为-5,-10.
如果可能的话,我希望能够从键值中获取纬度/经度值.
派生值必须是某种整数值.
我正在使用C/C++ :)
谢谢,我很乐意回答任何问题!
所以我本质上是一个游戏...这个游戏有地形。我希望能够创建一个自顶向下的视图小地图,以便“玩家”可以看到他们要去的地方。我正在地形上做一些阴影处理,所以我也希望将其显示在小地图中。看来我只需要创建第二台摄像机,然后以某种方式使该摄像机的显示出现在特定的框中。我也在想像镜子这样的东西会起作用。
我正在寻找可以采用的方法,基本上可以给我与当前相同的观点,只是自上而下...这似乎可行吗?随时提出问题...谢谢!
说我有以下课程:
class Foo
{
// ctor etc here
public string Bar
{
get;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我有一个LinkedList的Foo声明像这样S:LinkedList<Foo>
我该怎么写一个基本的包含<>()呢?
我希望能够这样做:
Foo foo = new Foo(someString);
LinkedList<Foo> list = new LinkedList<foo>();
// Populate list with Foos
bool contains = list.Contains<Foo>(foo, (x => foo.Bar == x.Bar));
Run Code Online (Sandbox Code Playgroud)
我是否正确地尝试这样做?
谢谢
所以,我想得到枚举或类的名称,而不在其前面附加完整的命名空间...例如:
enum MyEnum {
// enum values here
}
// somewhere else in the code
string testString = ???? // ???? returns "MyEnum"
Run Code Online (Sandbox Code Playgroud)
typeof(MyEnum) 主要是工作,但枚举的命名空间附加到前面.
任何帮助将不胜感激...谢谢!
所以在JavaScript中我可以做到以下几点:
var someObj = document.getElementById("foo");
var fooClick = foo.onclick;
var someOtherObj = document.getElementById("bar");
someOtherObj.onclick = fooClick;
Run Code Online (Sandbox Code Playgroud)
我想知道,jQuery等同于上面的代码是什么?
谢谢!
我有以下JS代码:
window.Foo = {};
window.Foo.Name1 = function()
{
function Bar1(param1)
{
this.Name = param1;
}
}
var gMyBar = new Foo.Name1.Bar1("hello world");
alert(gMyBar.Name);
Run Code Online (Sandbox Code Playgroud)
我在Firefox错误控制台中收到错误"Foo.Name1.Bar1不是构造函数"...给出了什么?
有没有办法我可以将以下运行时数组初始化为所有trues而不使用foreach循环它?
这是宣言:
bool[] foo = new bool[someVariable.Count];
谢谢!