小编Nic*_*yer的帖子

一个'for'循环迭代Java中的枚举

我有一个enumJava用于基数和中间方向:

public enum Direction {
   NORTH,
   NORTHEAST,
   EAST,
   SOUTHEAST,
   SOUTH,
   SOUTHWEST,
   WEST,
   NORTHWEST
}
Run Code Online (Sandbox Code Playgroud)

如何编写for循环遍历每个enum值的循环?

java enums for-loop

854
推荐指数
10
解决办法
45万
查看次数

.NET正则表达式中"组"和"捕获"之间有什么区别?

当谈到.NET的正则表达式语言时,我对"组"和"捕获"之间的区别有点模糊.考虑以下C#代码:

MatchCollection matches = Regex.Matches("{Q}", @"^\{([A-Z])\}$");
Run Code Online (Sandbox Code Playgroud)

我希望这会导致单个捕获字母'Q',但如果我打印返回的属性MatchCollection,我看到:

matches.Count: 1
matches[0].Value: {Q}
        matches[0].Captures.Count: 1
                matches[0].Captures[0].Value: {Q}
        matches[0].Groups.Count: 2
                matches[0].Groups[0].Value: {Q}
                matches[0].Groups[0].Captures.Count: 1
                        matches[0].Groups[0].Captures[0].Value: {Q}
                matches[0].Groups[1].Value: Q
                matches[0].Groups[1].Captures.Count: 1
                        matches[0].Groups[1].Captures[0].Value: Q
Run Code Online (Sandbox Code Playgroud)

到底发生了什么?我知道整个比赛也有一个捕获,但这些小组是如何进入的?为什么不matches[0].Captures包括字母'Q'的捕获?

.net c# regex

155
推荐指数
5
解决办法
3万
查看次数

如何删除工作副本中所有未版本控制/忽略的文件/文件夹?

如果我有一个Subversion存储库的工作副本,有没有办法用一个命令或工具删除该工作副本中的所有未版本控制或忽略的文件?基本上,我正在寻找SVN模拟git clean.

命令行或GUI解决方案(对于TortoiseSVN)都是可以接受的.

svn tortoisesvn ignore

133
推荐指数
9
解决办法
7万
查看次数

Eclipse CDT"路径和符号"对话框中的"导出"按钮?

在Eclipse CDT的Project Properties对话框的Paths and Symbols部分的Includes选项卡上,有一个"Export"按钮:

路径和符号对话框 我发现的最好的文档说这"切换了选择的包含路径是否被导出." 如果单击它,它将更改为"Unexport",并且"[exp]"将附加到选定的包含路径.

这到底是做什么的?"导出包含路径?"是什么意思?

eclipse eclipse-cdt

14
推荐指数
1
解决办法
6084
查看次数

将C++结构填充为2的幂

我正在为嵌入式系统开发一些C++代码.代码使用的I/O接口要求每条消息的大小(以字节为单位)是2的幂.现在,代码执行类似的操作(在几个地方):

#pragma pack(1)
struct Message
{
   struct internal_
   {
      unsigned long member1;
      unsigned long member2;
      unsigned long member3;
      /* more members */
   } internal;
   char pad[64-sizeof(internal_)];
};
#pragma pack()
Run Code Online (Sandbox Code Playgroud)

我正在尝试首次在64位Fedora上编译代码,其中long64位.在这种情况下,sizeof(internal_)大于64,数组大小表达式下溢,并且编译器抱怨数组太大.

理想情况下,我希望能够编写一个宏来获取结构的大小,并在编译时评估填充数组所需的大小,以便将结构的大小舍入为2的幂.

我看过Bit Twiddling Hacks页面,但我不知道是否有任何技术可以在宏中实现,以便在编译时进行评估.

这个问题的任何其他解决方案?或者我应该延续这个问题,只需将神奇的64改为神奇的128?

c++ struct bit-manipulation padding

10
推荐指数
4
解决办法
3591
查看次数

在Windows服务中执行冗长的初始化

在不阻止服务控制管理器的情况下启动Windows服务(或暂停恢复)时进行冗长初始化的最佳方法是什么?

.net c# windows-services startup

5
推荐指数
1
解决办法
1490
查看次数

我是否可以使NUnit GUI在断点/失败测试中进入Visual Studio调试器?

使用NUnit GUI运行单元测试时,有没有办法:

  • 在测试中设置断点,
  • 或者在测试失败时闯入Visual Studio实时调试器?

.net debugging nunit visual-studio

5
推荐指数
2
解决办法
1227
查看次数

在循环中何处捕获异常?

嗨,我想知道你对异常处理的看法是什么,即我有一个方法:

public void Method{}
{
   for (int i=0;i < length )
   {
    // dosomething that may case exception
    ...
    ...
    // rest of the code
   }
}
Run Code Online (Sandbox Code Playgroud)

我应该为整个循环添加try catch块以进行异常处理,还是只添加最有价值的代码或其他东西?什么是最佳做法?

c# exception-handling

5
推荐指数
2
解决办法
1445
查看次数

将创建的DLL和导入库放在不同的目录中

在Visual C++ Win32 DLL项目中是否有一种方法让链接器将DLL输出到一个目录,将导入库(*.lib)输出到另一个目录?

dll build-process visual-studio visual-c++

1
推荐指数
1
解决办法
2059
查看次数