我想为我的数据库实现 B 树索引。
我读了很多数据结构和算法书籍来学习如何做。所有实现都使用数组来保存数据和子索引。
现在我想知道:B树节点中的链表优于数组吗?我想过一些想法:
分割节点时,复制操作将比数组更快。
插入数据时,如果将数据插入到数组的中间或头部,速度会比插入到链表低。
今天,微软公开了一个新版本的Roslyn,自从这个版本是大约一年半的第一个版本以来,出现了大量的迁移问题.(Symbol- > ISymbol,基本上每个接口的非接口都占主导地位)但是,我曾经使用过:
Solution.LoadStandAloneProject(projectFile);
Run Code Online (Sandbox Code Playgroud)
获取从.csproj文件创建的解决方案.(还有一些静态方法.sln以相同的方式使用文件)
但是,新版本Microsoft.CodeAnalysis没有Solution包含任何静态方法的类.在新API中调用以实现此功能的正确方法是什么?
如何在代码修复项目的诊断中获取有关当前工作空间的信息(例如项目路径,解决方案路径)?
我正在实现类型为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作为诊断的方法参数给出,您可以进入项目和解决方案.
有没有办法检查代码是否在TransactionScope中执行?
就像是:
if(TransactionScope.Started|Enabled){...}
Run Code Online (Sandbox Code Playgroud)