Tag: C#的

是否有可能在枚举中保存一个types(使用“typeof()”)?

所以我用XNA创build了一个游戏,C#4.0,我需要pipe理很多PowerUps(代码中的所有代码都是从“PowerUp”类inheritance的),并且处理PowerUps的后端pipe理。枚举PowerupEffectType,每个PowerUp子类都有一个值。 最终在代码中,我需要从PowerupEffectType转换为Poweruptypes(类Type ,通常使用typeof([class name]) )。 由于这是一个组合项目,所以我希望尽可能地将PowerupEffectType的每个值都结合到相应的类types中,即:不仅期望其他程序员使用switch语句手动进行转换,并确保稍后添加/扩展涉及尽可能less的地方尽可能less的变化。 我有几个选项,迄今为止发现的最好的方法是创buildenum伪方法,将所有东西压缩到一个switch语句(我想要的99%),这要归功于我在这里find的一些提示: http ://msdn.microsoft.com/en-us/library/bb383974.aspx 但我试图进一步 – 我可以保存Type enum ? 我知道你可以将枚举保存为一个特定types(链接: http : //msdn.microsoft.com/en-us/library/cc138362.aspx ),但Type不是其中之一。 当前的select是字节,sbyte,short,ushort,int,uint,long和ulong 。 是否有任何可行的方法来保存一个Type转换为上述任何数据types和返回? 要明确,这是我想我可以做的,我正在寻找一种方法: // (Assuming 'LightningPowerup', 'FirePowerup', and 'WaterPowerup' are // all declared classes that inherit from a single base class) public enum PowerupEffectType { LIGHTNING = typeof(LightningPowerup), FIRE = typeof(FirePowerup), WATER = typeof(WaterPowerup) } […]

'uint32_t'标识符未find错误

我将代码从Linux C移植到Visual C ++ for windows。 Visual c + +不知道#include <stdint.h>所以我评论它。 后来,我发现了很多'uint32_t': identifier not found错误。 如何解决?

制作一个通用属性

我有一个类存储序列化的值和types。 我想要一个属性/方法返回已经铸造的值: public String Value { get; set; } public Type TheType { get; set; } public typeof(TheType) CastedValue { get { return Convert.ChangeType(Value, typeof(_Type)); } 这在C#中可能吗?

正则expression式删除所有(非数字或期限)

我需要像“joe($ 3,004.50)”这样的文本过滤到3004.50,但在正则expression式中很糟糕,找不到合适的解决scheme。 所以只有数字和时期应该留下来 – 其他所有的过滤。 我使用C#和VS.net 2008框架3.5

尝试方法'System.Web.Helpers.Json..cctor()'来访问方法'System.Web.Helpers.Json.CreateSerializer()'失败

我正在使用System.Web.Helpers.Json反序列化一些JSON dynamic在NET 4中。以下行失败,此错误: TypeInitializationException: Attempt by method 'System.Web.Helpers.Json..cctor()' to access method 'System.Web.Helpers.Json.CreateSerializer()' failed. var json = Json.Decode(response); response是漫长的,但有效的JSON。 这里可能是什么事? 我已经尝试用简短的手工JSON LINQPad ,它的工作。 这是一种configuration问题? [编辑] 这里是实际的示例JSON。 看起来内容几乎无关紧要。 当它在全新的控制台应用程序或LINQPad中运行时,它按预期工作。 但是,如果您尝试从全新的Windows窗体应用程序运行相同的代码,则会出现上述错误。 var json = Json.Decode("{\"r\":{\"0\":{\"id\":\"2\"},\"1\":{\"id\":\"33\"}}}"); [EDIT2] 事实上,这与项目types无关。 如果正在debugging项目,则会引发exception。 如果只是运行,则不会发生exception。 奇怪,呃?

什么是无符号数据types?

我已经看过这个unsigned “无types”types,但是从来没有看到过它的解释。 我想有一个相应的signedtypes。 这是一个例子: static unsigned long next = 1; /* RAND_MAX assumed to be 32767 */ int myrand(void) { next = next * 1103515245 + 12345; return(( unsigned )(next/65536) % 32768); } void mysrand( unsigned seed ) { next = seed; } 我到目前为止收集到的: – 在我的系统上, sizeof(unsigned) = 4 (提示32位无符号整数) – 它可以用作将另一个types转换为未签名版本的简写forms: signed long int […]

有没有类似jQuery的CSS / HTMLselect器可以在C#中使用?

我想知道是否有一个类似jQuery的cssselect器可以在C#中使用。 目前,我正在使用正则expression式parsing一些htmlstring,并认为有像jQuery中的CSSselect符匹配我所需的元素会更好。

C ++风格从无符号char *转换为const char *

我有: unsigned char *foo(); std::string str; str.append(static_cast<const char*>(foo())); 错误: invalid static_cast from type 'unsigned char*' to type 'const char*' C ++风格的正确方法是什么?

什么是CHAR_BIT?

从http://graphics.stanford.edu/~seander/bithacks.html引用无分支计算整数绝对值(abs)的代码: int v; // we want to find the absolute value of v unsigned int r; // the result goes here int const mask = v >> sizeof(int) * CHAR_BIT – 1; r = (v + mask) ^ mask; 获得专利的变体: r = (v ^ mask) – mask; 什么是CHAR_BIT以及如何使用它?

条件语句中逗号的优点是什么?

我们可以写一个if语句 if (a == 5, b == 6, … , thisMustBeTrue) 只有最后一个条件才可以进入if体。 为什么允许?