小编das*_*ick的帖子

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

想发布这个,即使我在写这个问题的过程中弄清楚了.将在下面发布答案.

使用VS代码分析获得以下警告:

警告CA2213'DBConn'包含IDisposable类型的字段'DBConn.k__BackingField':'SqlConnection'.更改"DBConn"上的Dispose方法以在此字段上调用Dispose或Close.

但我的代码确实在DBConn属性上调用Dispose().它不在支持领域吗?我有这样的其他实例 - 我处理编译器不会抛出此警告的位置.这是下面的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;    

namespace TheProgramSpace
{
    public sealed class DBConn : IDisposable
    {
        // class containing the database and its connection
        public SqlConnection TheConn { get; }
        public string DbPath { get; }
        public string DbName { get; }


        public DBConn(ProgInstance FPI)
        {
            // constructs new SQLConnection            
            DbPath = FPI.dbPath;
            DbName = FPI.dbName;

            string connString = "Data Source = " + DbPath + …
Run Code Online (Sandbox Code Playgroud)

c# fxcop visual-studio c#-6.0 visual-studio-2015

15
推荐指数
2
解决办法
6149
查看次数

Excel - 计算所有非空单元格,不包括空字符串

如果我使用COUNTA(range),它会使用空字符串("")计算单元格.我该如何避免这种情况? COUNTIFS(range,"<>"&"")似乎不起作用.

excel

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

Keras后端中的逻辑AND / OR

Tensorflow具有tf.logical_and()tf.logical_or()用于比较两个布尔张量,即tf.logical_and(x,y)==TRUEif x==TRUE and y==TRUE (doc)。我在Keras后端找不到类似的东西。它们具有keras.backend.any().all(),但这是用于张量内的聚合,而不是之间的聚合。我一直在使用带有嵌套K.switch()函数的变通办法,但这非常麻烦。

keras tensorflow

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

List.ToArray()是否保留索引?

索引中的项目List theList是否与其索引相同theList.ToArray()?即,确实theList[i]==theList.ToArray()[i]吗?假设答案是肯定的,只想再仔细检查一下.

更新:

这是一个用例,如果您无法想象这是有用的:我正在使用一个接受数组作为输入的优化例程.目前我的变量在列表中.我想对变量运行优化例程,然后获取优化例程的结果(显然是一个数组),并将它们放回列表中.我想确定我可以把它们放回原来的指数.

c#

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