[英]How I can get each source and target from doublet of doublets?
我尝试使用 LinksPlatform 的 Doublets 作为我的数据库引擎。
我使用双峰双峰(双峰对):
using System;
using Platform.Data.Doublets;
using Platform.Data.Doublets.Memory.United.Generic;
using var links = new UnitedMemoryLinks<uint>("db.links");
var something1 = links.CreatePoint();
var something2 = links.CreatePoint();
var something3 = links.CreatePoint();
var something4 = links.CreatePoint();
var doubletOfDoublets = links.GetOrCreate(
links.GetOrCreate(something1, something2),
links.GetOrCreate(something3, something4)
);
Console.WriteLine(doubletOfDoublets);
此外,您可以在https://dotnetfiddle.net/9Spngz上运行它
我怎样才能找回只有doubletOfDoublets
类的东西( something1
、 something2
、 something3
、 something4
)?
要取出链接的内容,您应该使用以下方法:
links.GetLink
- 获取链接的内容(包括其地址)links.GetSource
- 从链接的内容中获取源地址links.GetTarget
- 从链接的内容中获取目标地址请注意, links.GetLink
方法在Platform.Data
命名空间中可用,因此您也应该添加它。
在这里你可以看到一个完整的例子:
using System;
using Platform.Data;
using Platform.Data.Doublets;
using Platform.Data.Doublets.Memory.United.Generic;
using var links = new UnitedMemoryLinks<uint>("db.links");
var something1 = links.CreatePoint();
var something2 = links.CreatePoint();
var something3 = links.CreatePoint();
var something4 = links.CreatePoint();
var doubletOfDoublets = links.GetOrCreate(
links.GetOrCreate(something1, something2),
links.GetOrCreate(something3, something4)
);
var doublet = links.GetLink(doubletOfDoublets);
Console.WriteLine(doublet);
var sourceDoublet = links.GetLink(links.GetSource(doublet));
Console.WriteLine(sourceDoublet);
var targetDoublet = links.GetLink(links.GetTarget(doublet));
Console.WriteLine(targetDoublet);
var result = (
links.GetSource(sourceDoublet),
links.GetTarget(sourceDoublet),
links.GetSource(targetDoublet),
links.GetTarget(targetDoublet)
);
Console.WriteLine(result);
Console.WriteLine(result.Item1 == something1 &&
result.Item2 == something2 &&
result.Item3 == something3 &&
result.Item4 == something4);
控制台 output 应该是:
(7: 5->6)
(5: 1->2)
(6: 3->4)
(1, 2, 3, 4)
True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.