社区
.NET技术其他语言
帖子详情
关于数据结构的.net组件,征求意见!
xhcldatastruct
2006-08-09 12:18:54
我设计了一套关于数据结构的.net组件,侧重于与数据库的绑定,以及远程传输。详细说明,可见软件包中的 XHCLDataStruct.chm 。
下载地址 : http://download.enet.com.cn/html/030212006052206.html
...全文
306
5
打赏
收藏
关于数据结构的.net组件,征求意见!
我设计了一套关于数据结构的.net组件,侧重于与数据库的绑定,以及远程传输。详细说明,可见软件包中的 XHCLDataStruct.chm 。 下载地址 : http://download.enet.com.cn/html/030212006052206.html
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
javalin3012
2006-10-10
打赏
举报
回复
说的不错
顶一个
xingyaohua
2006-10-01
打赏
举报
回复
10.1也来顶
xhcldatastruct
2006-09-11
打赏
举报
回复
感谢 Mark2Win !
这是一个混合模式编程中,由于变量没有初始化,造成的偶发性错误。Debug 编译版没有发现出错;Release 编译版时不时报错。经分析,原因是变量没有初始化,其值不确定,导致程序流程不确定。
通常如果变量没有初始化, VS.NET 编译时会警告,并且对其初始化。但是可能有意外。
出错处:
IXHCLobjDoublyLinkedList* XHCLsrcDoublyLinkedList::GetDoublyLinkedList(......)
{
......
__int64 ptrException;
HRESULT hr = this->m_pIXHCLsrcDoublyLinkedListCom->XHCLsrcDoublyLinkedList_GetObjectWithId (
......
&ptrException);
if 0 != ptrException)
{
throw ......;
}
......
}
非托管函数 XHCLsrcDoublyLinkedList_GetObjectWithId 的托管定义:
HRESULT XHCLsrcDoublyLinkedList_GetObjectWithId(
......
[OutAttribute] __int64 __gc *pptrException
);
非托管函数 XHCLsrcDoublyLinkedList_GetObjectWithId 有关代码:
STDMETHODIMP CoXHCLsrcDoublyLinkedListCom::XHCLsrcDoublyLinkedList_GetObjectWithId(
......
__int64 *pptrException,
......)
{
......
if (......)
{
......
}
......
}
托管代码中变量 ptrException 初始化为 0 时,不在出错。按理,XHCLsrcDoublyLinkedList_GetObjectWithId 的托管定义相关参数的属性 OutAttribute,变量 ptrException值不传递给非托管程序,无法理解为何只须初始化变量 ptrException 就有效果。
非托管代码中,pptrException 指向的地址是由系统分配的,也没有初始化。只当程序执行进入 if 流程才会置值。碰巧出错时,没有进入 if 流程,直接将没有初始化的值返回了,并且 != 0 。只要加入代码 *pptrException = 0,不在出错。
在开发 XHCLDataStruct.NET 过程中,可以说一直在与各类偶发性错误斗争,以上只是一种。征求经验,特别是关于如何测试和纠错。
xhcldatastruct
2006-08-16
打赏
举报
回复
我在实践中对数据结构有一些自己的想法。
数据结构的应用十分灵活,但是再复杂的数据结构都可以用几种基本的数据结构组合而成。我一直在寻找反例,尚未发现。
我将数据结构的构成信息分成两类:结构信息,即数据元素集合相互之间的特定关系;数据信息,即数据元素。同类的基本数据结构的结构信息都是相同的,数据信息各异,这就使为之设计对应的类提供可能。组合成复杂数据结构,是通过在一个数据对象的数据信息中包含另一个数据对象实现的。
例如, VisualStudio 中的例子 Scribble :用一个线形表存储所有的笔画,每一个笔画的数据指向存储坐标点的线形表。我的软件包引用了这个例子,做相应修改,以便演示软件提供的对应类的调用。
特别指出我的 Scribble 例子,最终在窗口上的绘画保存到数据库,而非文件。执行存储着笔画线形表的类的 Update 函数,软件就会按预先的设置,将笔画线形表及其包含的坐标点线形表保存到数据库。反之,读取绘画时,软件按预先的设置从数据库读取数据,生成数据对象,用户最终得到的将是数据元素中包含着坐标点线形表的笔画线形表对象。这就是我所诉的数据库绑定。
另外软件提供的各类数据结构对象都可以 XML 编码,以及将 XML 反序列化成各类数据对象,以便实现远程传输。见软件包带的例子:一元多项式。
目前软件尚在开发中,希望大家下载,看看,帮我参谋参谋!
Mark2Win
2006-08-11
打赏
举报
回复
粗略看了下, 例子Scribble里, 打开既有图档1, 绘画后保存, 造成运算溢出
ngenerics:为
.NET
提供全面的泛型
数据结构
与算法支持
ngenerics是一个开源类库,专为
.NET
框架提供泛型
数据结构
和算法。它基于
.NET
标准开发,可在多种
.NET
兼容平台运行。提供集合、图等核心
组件
,适用于数据处理、算法研究等场景。具有高度可定制、性能优化等特点,有望成为
.NET
开发者的重要工具。
Vb Mscorlib
组件
ArrayList
数据结构
本文详细介绍了VB中的ArrayList
数据结构
,包括其基本属性如创建、添加、删除、查找、排序、复制和去重功能,以及在实际操作中的范例。同时对比了与字典和数组的区别,以及VB、VBA和VB
.NET
在不同领域的应用情况。,
【C#】任务调度的实现原理与
组件
应用Quartz
.Net
Quartz
.Net
是C#中实现任务调度的框架,支持复杂调度需求。本文介绍了Quartz的核心
组件
、底层算法,以及如何在C#中安装、创建Job类、配置Scheduler和Trigger,并启动调度器。同时,还探讨了Quartz
.Net
的任务执行机制和高级功能。
收集
.NET
6中一些常用
组件
的配置
本文档详细介绍了
.NET
6环境下多种实用技术的应用方法,包括Swagger、EFCore、Autofac、Log4Net等
组件
的集成,以及Redis缓存、SignalR实时通信、Dapper数据访问等高级功能的实现。
建议收藏,
.NET
高级
数据结构
!
本文分享了两个使用C#开发的高级
数据结构
类库项目,C-Sharp-Algorithms 和 advanced-algorithms,分别包含75种和100种以上的
数据结构
及算法实现,如红黑树、B树等,并提供了排序和搜索算法。
.NET技术其他语言
1,979
社区成员
12,447
社区内容
发帖
与我相关
我的任务
.NET技术其他语言
.NET技术 其他语言讨论
复制链接
扫一扫
分享
社区描述
.NET技术 其他语言讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章