小编JL.*_*JL.的帖子

为什么ReSharper为C#代码反转IF?它是否提供更好的性能(甚至略微)?

请考虑以下代码示例:

private void AddEnvelope(MailMessage mail)
{
    if (this.CopyEnvelope)
    {
        // Perform a few operations
    }
}
Run Code Online (Sandbox Code Playgroud)

VS

private void AddEnvelope(MailMessage mail)
{
    if (!this.CopyEnvelope) return;
    // Perform a few operations
}
Run Code Online (Sandbox Code Playgroud)

底部代码会执行得更快吗?为什么ReSharper会提出此建议?

更新

考虑过这个问题后,答案对某些人来说似乎是显而易见的.但是我们很多开发人员从来没有习惯于在一开始就嵌套if语句.

c#

14
推荐指数
3
解决办法
6462
查看次数

Visual Studio Project DLL不在网站项目中更新(相同的解决方案)

我有一个包含5个项目的解决方案.大部分业务逻辑都位于类库项目中 - 产生1个dll.

当我构建解决方案时,它现在失败了,因为这个dll在同一解决方案中的网站项目中没有被有效地更新.

我运行了一个测试...并将类库的项目属性的文件版本更改为1.0.0.1.所以有效的v1.0.0.0不存在.

但是每次我构建时,由于某种原因 - 旧的DLL被添加到网站的bin目录中...而新的v1.0.0.1 dll被正确输出到项目bin/debug目录.

我试过删除并重新创建引用.没有快乐......不确定还有什么可做,任何建议都会受到欢迎......

更新:简化问题

当我构建类库输出时,输出成功 - 1项目构建.

它在项目bin/debug中创建了良好的DLL版本....它在网站项目中创建了旧版本的DLL .......

有什么建议从这里看?

以下是该问题的屏幕截图http://www.screencast.com/t/Mjc2NjM1ZD

谢谢

visual-studio

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

C#,快速反转可空的布尔?

我有一个可空的布尔.什么是反转它的快速方法.换句话说,如果value为TRUE,则使其为FALSE,否则使其为TRUE.

澄清(来自评论):

预期的行为是:如果可空的bool有一个值,则反转,否则应该返回null.

c#

13
推荐指数
2
解决办法
6337
查看次数

如何从.NET对象创建XML文档?

我有以下接受文件名的变量:

var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
var xd = new XmlDocument();
xd.Load(xtr);
Run Code Online (Sandbox Code Playgroud)

我想改变它,以便我可以传入一个对象.我不想首先将对象序列化为文件.

这可能吗?

更新:

我最初的意图是获取一个xml文档,合并一些xslt(存储在一个文件中),然后输出并返回html ...像这样:

public string TransformXml(string xmlFileName, string xslFileName)
{
     var xtr = new XmlTextReader(xmlFileName) { WhitespaceHandling = WhitespaceHandling.None };
     var xd = new XmlDocument();
     xd.Load(xtr);

     var xslt = new System.Xml.Xsl.XslCompiledTransform();
     xslt.Load(xslFileName);
     var stm = new MemoryStream();
     xslt.Transform(xd, null, stm);
     stm.Position = 1;
     var sr = new StreamReader(stm);
     xtr.Close();
     return sr.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我正在从文件中读取xml.现在我想要做的就是在将对象序列化到文件之前使用它.

那么让我用代码来说明我的问题

public string TransformXMLFromObject(myObjType myobj , string xsltFileName) …
Run Code Online (Sandbox Code Playgroud)

.net c# xml

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

.NET File.Create,之后无法删除文件

使用方法: System.IO.File.Create()

文件创建后,它仍然由进程使用,我无法删除它.

任何想法我怎么能更好地创建文件,应该是一个0byte文件,然后以某种方式关闭和处置?

.net c# file-io

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

C# - 是否可以创建一个可以从带命令行的命令行运行的Windows窗体应用程序?

我想要一个包含UI的Windows窗体应用程序,但我希望它从命令行运行一些参数,可能还有一个/hide/visible=false选项.

如何读取命令行参数?并相应调整?

c# command-line winforms

12
推荐指数
2
解决办法
6301
查看次数

C#StreamReader在try/finally中

我今天有一个涉及StreamReader类的问题.具体使用filename参数初始化此类,例如:

TextReader tr = new StreamReader(fileName);
Run Code Online (Sandbox Code Playgroud)

显然,当这个动作完成时,关闭流的重要性如下:

 tr.Close();
Run Code Online (Sandbox Code Playgroud)

我想在尝试/最后得到这个,问题是我找不到办法做到这一点.以下是我发现的一些不适用的变化:

    try
        {
            var serializer = new XmlSerializer(type);
            TextReader tr = new StreamReader(fileName);
            var obj = serializer.Deserialize(tr);
        }
    finally
        {
            tr.Close();    
        }
Run Code Online (Sandbox Code Playgroud)

更糟糕的是:

     TextReader tr;  
        try
        {
            var serializer = new XmlSerializer(type);
            tr = new StreamReader(fileName);
            var obj = serializer.Deserialize(tr);
        }
        finally
        {
            tr.Close();    
        }
Run Code Online (Sandbox Code Playgroud)

那么有可能让StreamReader在最后关闭吗?

.net c#

12
推荐指数
2
解决办法
7562
查看次数

C#如何快速生成正确的错误以进行测试

我的错误处理程序中有一些代码我需要针对实际错误进行测试.如何生成具有完整堆栈跟踪的错误,并且与运行时错误一样真实.

我正在使用异常的常规捕获.因此,在这种特殊情况下不需要特定类型的异常.

谢谢

c#

12
推荐指数
4
解决办法
9908
查看次数

是否值得升级到VS2010 Ultimate以利用高级调试功能?

我目前正在使用VS2010 Premium,并且听说Ultimate中的调试要好得多.是否真的值得升级到Ultimate以利用它们包含的新调试功能?或者是营销炒作,并不是真的可用于每天的开发场景?

我相信这个功能叫做IntelliTrace.

debugging visual-studio-2010

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

SerializationStore没有找到引用

尝试使用ComponentSerializationService反序列化时,会填充未找到引用的错误:

public ICollection Deserialize(object serializationData)
{
    var serializationStore = serializationData as SerializationStore;
    var componentSerializationService = _serviceProvider.GetService(typeof(ComponentSerializationService)) as ComponentSerializationService;
    var collection = componentSerializationService.Deserialize(serializationStore);
}
Run Code Online (Sandbox Code Playgroud)

错误如:

找不到类型'System.Drawing.Size'.请确保引用包含此类型的程序集.如果此类型是开发项目的一部分,请确保使用当前平台或任何CPU的设置成功构建项目.

在这里,我通过了Button控件并设置了size属性.

c# codedom system.componentmodel

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