Tag: C#的

增加“蒙面”的位集

我目前正在编写一个树枚举器,我遇到了以下问题: 我正在查看掩码的位集,即设置位是掩码子集的位集,即带掩码1010101 。 我想要完成的是增加位集,但只有掩码位。 在这个例子中,结果是0010000 。 为了使其更清楚一点,只提取掩码位,即0011 ,将它们递增到0100并再次将它们分配给掩码位,得到0010000 。 有没有人看到一个有效的方法来做到这一点,而不是手动使用bitscans和前缀掩码的组合执行操作?

用gdb检查标准容器(std :: map)的内容

假设有这样的事情: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } 我希望能够从gdb中检查运行该程序的地图的内容。 如果我尝试使用下标运算符,我会得到: (gdb) pm[1] Attempt to take address of value not located in memory. 使用find方法不会产生更好的结果: (gdb) p m.find(1) Cannot evaluate function — may be inlined 有没有办法做到这一点?

排除BadImageFormatExceptionexception

我有一个用C#编写的使用Visual Studio 2010的Windows服务,它的目标是完整的.NET Framework 4.当我从Debug版本运行时,服务按预期运行。 但是,当我从发布版本运行它,我得到一个System.BadImageFormatException(下面的细节)。 我一直在寻找一个解决scheme的互联网,但迄今为止,我find的每件事都没有帮助我find解决scheme。 Windows 7 64位(dev)和Windows XP SP3 32位(目标)系统上都存在此问题。 这是我迄今为止所尝试的: 已validation的构build设置(如Platform Target)都是相同的(x86)。 使用/ verbose选项使用peverify来确保组件二进制文件是有效的。 使用fuslogvw来查找任何加载问题。 使用CheckAsm查找丢失的文件或集合。 所有这些检查都没有改变任何东西。 我在下面列出了例外情况的全文,其中一些名字被改变,以保护我公司主人的秘密。 System.BadImageFormatException是未处理的 Message =无法加载文件或程序集“XxxDevices,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”或它的某个依赖项。 试图加载格式不正确的程序。 来源= XxxDevicesService FileName = XxxDevices,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null FusionLog =从C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ clr.dll加载的程序集pipe理器 在可执行文件c:\ Dev […]

将string数组转换为string

我想将string数组转换为单个string。 string[] test = new string[2]; test[0] = "Hello "; test[1] = "World!"; 我想有一个像“Hello World!”的东西

返回IList <T>比返回T 或List <T>更糟?

这样的问题的答案: List <T>或IList <T>似乎总是认为返回一个接口比返回一个集合的具体实现更好。 但是我正在为此而苦苦挣扎。 实例化一个接口是不可能的,所以如果你的方法正在返回一个接口,它实际上还是返回一个特定的实现。 我正在通过编写两个小方法来进行一些尝试: public static IList<int> ExposeArrayIList() { return new[] { 1, 2, 3 }; } public static IList<int> ExposeListIList() { return new List<int> { 1, 2, 3 }; } 并在我的testing程序中使用它们: static void Main(string[] args) { IList<int> arrayIList = ExposeArrayIList(); IList<int> listIList = ExposeListIList(); //Will give a runtime error arrayIList.Add(10); //Runs […]

#如果没有在C#中debugging?

我有在VB代码行: #if Not Debug 我必须转换,而我不看到它在C#中? 有没有相当的东西,还是有一些解决方法?

C中的代字符运算符

我已经看到了在ELF哈希algorithm中使用的波浪符运算符,我很好奇它是做什么的。 (代码来自Eternal Confused 。) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; i++ ) { h = ( h << 4 ) + p[i]; g = h & 0xf0000000L; if ( g != 0 […]

使用Resharper自定义Brace格式

我正在使用Resharper 4.5,并且在编写数组或对象初始值设定项时,我需要使用大括号的自定义格式。 resharper支持一些样式: Gnu风格: int[] array = new int[] { 1, 2, 3 } 但是我需要: int[] array = new int[] { 1, 2, 3 } 有没有什么办法来自定义这个模板?

如何从字节数组添加电子邮件附件?

我有一个byte[]与文件的内容。 我想发送它作为一个附件使用System.Net.Mail 。 我注意到附件类有1个过载接受一个stream。 Attachment att = new Attachment(Stream contentStream,string name); 是否有可能通过这个超载的byte[] ?

使用(LINQ / Predicate)将DataTable的所有列名称获取到string数组中

我知道我们可以通过一个简单的循环轻松地做到这一点,但我想要坚持这个LINQ / Predicate? string[] columnNames = dt.Columns.? or string[] columnNames = from DataColumn dc in dt.Columns select dc.name;