小编And*_*dyM的帖子

为什么枚举有两个不同的名称具有相同的数值?

我刚刚发现了一个微妙的错误,我有一个枚举,两个名字无意中共享相同的数值(在这种情况下,红色= 10和深红色= 10).我有点惊讶这不是语法错误.

public enum Colour
{
    Red=10,
    Blue=11,
    Green=12,
    Crimson=10
}
// Debug.Write(Colour.Red==Colour.Crimson) outputs True
Run Code Online (Sandbox Code Playgroud)

是否有任何现实世界的理由为什么这种行为可能有用或者认为它应该是语法错误?

c# enums

27
推荐指数
6
解决办法
2万
查看次数

如果出现错误,如何获取批处理文件.bat继续执行下一个语句

我正在尝试在.bat中编写关闭VM服务器的脚本.如果其中一个vmware-cmd命令失败(因为机器已经关机了),我希望它继续而不是轰炸.

c:
cd "c:\Program Files\VMWare\VmWare Server"

vmware-cmd C:\VMImages\TCVMDEVSQL01\TCVMDEVSQL01.vmx suspend soft -q
vmware-cmd C:\VMImages\DevEnv\DevEnv\DevEnv.vmx suspend soft -q
vmware-cmd C:\VMImages\DevEnv\TCVMDEV02\TCVMDEV02.vmx suspend soft =q


robocopy c:\vmimages\ \\tcedilacie1tb\VMShare\DevEnvironmentBackups\ /mir /z /r:0 /w:0

vmware-cmd C:\VMImages\TCVMDEVSQL01\TCVMDEVSQL01.vmx start
vmware-cmd C:\VMImages\DevEnv\DevEnv\DevEnv.vmx start 
vmware-cmd C:\VMImages\DevEnv\TCVMDEV02\TCVMDEV02.vmx start
Run Code Online (Sandbox Code Playgroud)

batch-file

19
推荐指数
2
解决办法
4万
查看次数

C#null-coalescing(??)运算符的运算符优先级是什么?

我刚试过以下内容,想法是连接两个字符串,用空字符串替换空值.

string a="Hello";
string b=" World";
Run Code Online (Sandbox Code Playgroud)

- 调试(有趣的是?是打印,并不完全有助于提高可读性......)

 ? a ?? "" + b ?? "" 
Run Code Online (Sandbox Code Playgroud)

- >"你好"

正确的是:

? (a??"")+(b??"")
"Hello World"
Run Code Online (Sandbox Code Playgroud)

我有点期待"Hello World",或者只是"世界",如果a为null.显然这是运算符优先级的todo,可以通过括号来克服,是否存在记录此新运算符的优先顺序的任何位置.

(意识到我应该使用stringbuilder或String.Concat)

谢谢.

c# null null-coalescing-operator

19
推荐指数
3
解决办法
5493
查看次数

不了解在系统架构中创建IoC容器的位置

假设我有以下4个.net程序集:

  1. Winforms UI
  2. 商业逻辑
  3. SQL Server数据访问(实现IRepository)
  4. 通用接口(IRepository等的定义)

我的业务逻辑(2)使用构造函数依赖注入通过IRepository(在4中定义)调用数据访问层(3).但是,当我停止业务对象时,我需要传入一个实际的存储库.我通过在业务逻辑层中使用单例类返回当前正在使用的实现IRepository的具体对象来实现此目的.我得出的结论是,这是一件坏事,因为我的业务逻辑层现在必须引用3和4.

我想我需要一个IoC容器,但问题是我在哪里创建/放置它似乎无论我在哪里创建它(1-UI)?还需要持有对3(SQL Server数据访问)的引用.我不仅仅是解决问题而不是实现真正的脱钩吗?

我是否在UI中创建IoC容器.或者通过另一个新组件暴露它.

(我正在使用C#,.net 3.5和AutoFac)

谢谢.

c# architecture ioc-container

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

Visual Studio中是否有"便笺簿"窗口

我目前使用记事本为自己存储关于我的代码的小笔记.这通常是代码和要求的混合.

在VS中是否有"便笺簿"类型的窗口,我可以这样做.

另一种选择是在源文件中使用代码注释块,但这不是我正在寻找的.

visual-studio-2008 visual-studio

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

VMWare服务器:备份图像的最佳方式

备份VMWare服务器(1.0.x)的最佳方法是什么?有问题的虚拟机是我们的开发环境,并且从主网络运行isololated(因此您不能只是将数据从虚拟服务器复制到真实服务器).

图像文件通常在服务器运行时使用并锁定,因此很难在运行的计算机上备份这些文件.

目前:我离开时手动暂停服务器,并在午夜运行计划任务,将图像复制到远程NAS.

有没有更好的方法来做到这一点,理想情况下无需记住暂停虚拟机?

backup virtualization vmware

6
推荐指数
1
解决办法
2万
查看次数

针对WCF服务运行mstest时,WcfSvcHost无法运行且测试失败.调试时测试通过

使用Visual Studio 2010,我编写了一个简单的WCF服务和一些我想针对它运行的集成测试.我在运行时使用代码而不是使用配置为测试构建代理.

我的测试在调试时传递,但在运行时没有!

如果运行失败 - 在当前上下文中进行测试/运行/测试(因为它调用的WCF服务尚未托管)

在调试中通过 - 在当前上下文中进行测试/调试/测试(因为在同一解决方案中调试另一个项目时,WCF项目具有WCF选项/启动WCF服务主机)

有没有办法在测试正常运行时启动WCFServiceHost?

谢谢,安迪

Test method BulkLoaderIntegrationTests.IntegrationTests.ImportEntries_withGoodPCMs_reportsCreatedOk threw exception: 
    System.ServiceModel.EndpointNotFoundException: Could not connect to net.tcp://localhost:8001/OLELoader. The connection attempt lasted for a time span of 00:00:00.9687686. TCP error code 10061: No connection could be made because the target machine actively refused it 127.0.0.1:8001.  ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8001
Run Code Online (Sandbox Code Playgroud)

wcf unit-testing

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

"重构"产品积压项目是否应计入速度?

假设需要重构(太大而无法作为现有用户故事的一部分合并) - 在产品Backlog上有重构'故事'是否可以?

重构的目的不是改变系统的行为 - 因此根据定义,没有给客户直接的商业价值.

- 重构'故事'也有故事点,然后计入速度或这是在某种程度上作弊?

上下文:我们做了一个初始故事,以最简单的结构存储一些数据.这些数据的结构不适用于即将发布的用户故事,需要采用不同的方法,需要更改所有希望现有数据结构的现有功能以适应这种新方法.

agile technical-debt

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

电子邮件地址的正确正则表达式是什么?

重复:使用正则表达式验证电子邮件地址


网上似乎有很多不同的变种,并且想知道是否有明确的答案?

最好使用正则表达式的.net(正则表达式)方言.

regex email

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

VMWare服务器:虚拟硬盘类型

为获得最佳性能,使用虚拟IDE硬盘或虚拟SCSI硬盘更好吗?如果,SCSI,是否使用BusLogic或LSILogic是否重要?

ide performance vmware scsi hard-drive

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