草庐IT

差异分析

全部标签

c# - CA2213 代码分析规则和自动实现的属性

我在我们的项目中使用静态代码分析来检查代码违规情况。广泛使用的规则之一是CA2213,它检查一次性字段的正确处理。我注意到CA2213不检查自动实现属性的处理。此外,如果类继承自实现IDisposable的类且未重写Dispose方法,则CA2213既不检查字段也不检查自动实现的属性的处置。实例:publicsealedclassGood:IDisposable{privateFontfont;publicFontFont{get{returnfont;}set{font=value;}}publicGood(){font=newFont("Arial",9);}publicvoidD

c# - 命名空间语义差异

我看到.NETframework中的大多数类型分布在3个不同的命名空间(可能更多),一个以Microsoft开头,其他以System第三个是Windows。例如有Windows.System.Threading.ThreadPool和System.Threading.ThreadPool。这个设计有明显的语义差异吗? 最佳答案 Microsoft.*命名空间通常是.NET命名空间,用于特定于Windows的功能,例如注册表访问System.*命名空间是“普通”.NET系统命名空间Windows.*命名空间通常是Windows运行时a

c# - 代码分析警告 CA2213 - 在 IDisposable 支持字段上调用 ​​Dispose()

想发布这个,即使我在写问题时想通了。将在下面发布答案。使用VS代码分析获取以下警告:WarningCA2213'DBConn'containsfield'DBConn.k__BackingField'thatisofIDisposabletype:'SqlConnection'.ChangetheDisposemethodon'DBConn'tocallDisposeorCloseonthisfield.但是我的代码确实在DBConn属性上调用了Dispose()。它不在后台吗?我还有其他类似的实例-我正在处理编译器不会抛出此警告的地方。这是下面的代码:usingSystem;usin

c# - 从通用列表中获取对称差异

我有2个单独的列表,我需要比较这两个列表并获取所有内容,但这两个列表的交集。我该怎么做(C#)? 最佳答案 如果你指的是除了交集(对称差异)之外的所有东西的集合,你可以尝试:varset=newHashSet(list1);set.SymmetricExceptWith(list2); 关于c#-从通用列表中获取对称差异,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/168314

c# - 数组与数组列表的显着差异?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhentouseArrayListoverarray[]inc#?从内存或处理器成本的角度来看,数组和arrayList对象之间是否存在显着差异?

c# - C# 中的编程式 XML 差异/合并

此刻,我正在管理一个具有多个XML配置文件的软件。当发布新版本的软件时,有时基本配置文件会更改,我们目前有软件调用KDiff在启动时。如果检测到更改,它会提示用户选择更改。这种方法的问题是KDiff是一个行比较程序,不了解XML的方式(如节点等)理想情况下,我想以编程方式使用C#中的库(因为我们是一家MS商店),它可以区分两个XML文件:一个源XML和一个当前工作的XML。然后使用一些简单的规则将两者合并在一起:如果当前工作XML有源XML没有的节点,请将其删除。如果源XML具有当前工作XML没有的节点,请添加它。如果两者具有相同的节点并且值不同,则支持源XML的值,除非源XML的值设

c# - C#源代码分析工具

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhatstaticanalysistoolsareavailableforC#?伙计们,我正在寻找适用于C#的开源或免费源代码分析工具。该工具应该能够从源代码中生成指标,例如圈复杂度、行数、注释行数、SEI可维护性等。有人知道任何这样的工具吗?

c# - Linq:TimeSpan 中 2 个 DateTime 之间的差异

我正在尝试这样做:Tickets.Where(t=>(t.Date-myTicket.Date)我收到“DbArithmeticExpression参数必须具有数字通用类型”错误。考虑到我需要TimeSpan的差异,我该怎么做?提前致谢。 最佳答案 你会想要使用SqlFunctions.DateDiffTickets.Where(t=>SqlFunctions.DateDiff("second",t.Date,myTicket.Date) 关于c#-Linq:TimeSpan中2个Dat

c# - 为什么 C#(相当慢)和 Win32/C 之间的性能差异?

我们正在寻求将性能关键应用程序迁移到.Net,发现c#版本比Win32/C慢30%到100%,具体取决于处理器(移动T7200处理器上的差异更明显)。我有一个非常简单的代码示例来演示这一点。为简洁起见,我将只展示C版本——c#是直接翻译:#include"stdafx.h"#include"Windows.h"intarray1[100000];intarray2[100000];intTest();intmain(intargc,char*argv[]){intres=Test();return0;}intTest(){intcalc,i,k;calc=0;for(i=0;i如果我们

c# - 是否可以分析单元测试的内存使用情况?

我正在考虑使用VisualStudio附带的单元测试框架构建一些单元测试以确定资源是否泄漏。目前,我正在评估最新版本的ANTSProfiler,但我不太清楚它是否允许我从代码中强制快照(这样我就可以拍摄快照,运行一些单元测试一百次,强制垃圾收集,并拍摄另一个快照,并保存结果供以后分析)。这可能与ANTS/VisualStudio相关,还是我应该探索其他分析器的选项? 最佳答案 你看过JetBrains的dotmemory吗??dotMemoryUnit是一个单元测试框架,允许您编写测试检查您的代码是否存在各种内存问题。例如:When