小编and*_*dyp的帖子

B树节点中的链表优于数组吗?

我想为我的数据库实现 B 树索引。

我读了很多数据结构和算法书籍来学习如何做。所有实现都使用数组来保存数据和子索引。

现在我想知道:B树节点中的链表优于数组吗?我想过一些想法:

  1. 分割节点时,复制操作将比数组更快。

  2. 插入数据时,如果将数据插入到数组的中间或头部,速度会比插入到链表低。

algorithm b-tree data-structures

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

在Roslyn的新版本(Microsoft.CodeAnalysis)中,`Solution.LoadStandAloneProject`发生了什么?

今天,微软公开了一个新版本的Roslyn,自从这个版本是大约一年半的第一个版本以来,出现了大量的迁移问题.(Symbol- > ISymbol,基本上每个接口的非接口都占主导地位)但是,我曾经使用过:

Solution.LoadStandAloneProject(projectFile);
Run Code Online (Sandbox Code Playgroud)

获取从.csproj文件创建的解决方案.(还有一些静态方法.sln以相同的方式使用文件)

但是,新版本Microsoft.CodeAnalysis没有Solution包含任何静态方法的类.在新API中调用以实现此功能的正确方法是什么?

c# roslyn

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

Roslyn:诊断中的当前工作空间,带有代码修复项目

如何在代码修复项目的诊断中获取有关当前工作空间的信息(例如项目路径,解决方案路径)?

我正在实现类型为ISyntaxNodeAnalyzer的Diagnostic

我需要访问SymbolFinder.FindImplementationsAsync,但为此,我需要Solution实例

编辑:我有这样的代码:

var syntax = (LocalDeclarationStatementSyntax) node;
var type = syntax.Declaration.Type;
var typeSymbol = semanticModel.GetTypeInfo(type).ConvertedType;
Run Code Online (Sandbox Code Playgroud)

我想找出typeSymbol的所有用法/参考.TypeSymbol表示位于源代码中的Class.

为此,我想使用SymbolFinder,但SymbolFinder的方法需要Solution的实例...在旧版本的Roslyn中,Document作为诊断的方法参数给出,您可以进入项目和解决方案.

c# roslyn

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

有没有办法检查代码是否在TransactionScope中执行?

有没有办法检查代码是否在TransactionScope中执行?

就像是:

if(TransactionScope.Started|Enabled){...}
Run Code Online (Sandbox Code Playgroud)

.net c# transactionscope

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