C#
文章平均质量分 94
恒哥的爸爸
区域影像云平台 云胶片 云PACS 影像工作站
展开
-
静态心电设备的数据采集(aECG)
这篇文章主要是针对,如何将静态心电设备接入到PACS系统的方法,作了点笔记。对没有入门的朋友会有帮助。本文有很多都是其他人的文档里边截取出来的,这里会吧这些链接放到文章最后,方便后续参考。1 静态心电业务流程图1 心电业务流程一般心电设备都是通过FTP标准服务,上传到电脑PC端的一个目录中。心电工作站可以通过扫描此目录下的文件,并且将文件解析转换为标准aECG格式,进行显示。一般来说,心电设备对于录入检查信息的功能,是很不方便进行操作的,所以,工作站还担负着将aECG数据和检查的登记信息进行合并原创 2022-03-08 17:14:10 · 1780 阅读 · 1 评论 -
(转载)C#中的值类型及装箱[翻译]
我翻译这篇文章写得很好,解释得很清楚,尤其是其图文,让人思路清晰,比MS提供的SDK上请的好懂多了,反正我当年看了好几次还似懂非懂的。我还会翻译我关于C#中的堆与栈的一个系列文章(共四篇),敬请期待哦。The C# Value Type and BoxingMatthew Cochran尽管在.NET框架里,我们不需要为内存管理以及垃圾收集操心,但我们还是应该了解它们,来优转载 2013-10-15 17:50:23 · 677 阅读 · 0 评论 -
(转载)C#技术漫谈之垃圾回收机制(GC)
摘要:今天我们漫谈C#中的垃圾回收机制,本文将从垃圾回收机制的原理讲起,希望对大家有所帮助。 GC的前世与今生 虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。转载 2013-10-24 11:01:03 · 752 阅读 · 0 评论 -
(转载)IDisposable标准实现
.NET中用于释放对象资源的接口是IDisposable,但是这个接口的实现还是比较有讲究的,此外还有Finalize和Close两个函数。MSDN建议按照下面的模式实现IDisposable接口: 1 public class Foo: IDisposable 2 { 3 public void Dispose() 4 { 5 Dispose转载 2013-10-21 14:14:18 · 650 阅读 · 0 评论 -
(转载)NLog的使用
点击打开链接NLog文章系列——系列文章目录以及简要介绍早晨看到TerryLee的文章《.NET开源项目介绍及资源推荐:日志记录》,其中说到NLog这个同样开源且非常不错的日志记录工具却没什么中文资料。在TerryLee介绍前,我也不知道NLog这个东西,于是就随便尝试了一下。简单使用了一下之后,觉得NLog真的非常不错。如此漂亮的类库却没有中文资料,似乎有些可惜,于是尝试转载 2013-11-04 19:15:09 · 845 阅读 · 0 评论 -
(转载)C# 读取配置文件和修改
读取:string str= ConfigurationManager.AppSettings["key"]; 写入: Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); configuration.AppSettings.Se转载 2013-11-04 15:37:13 · 1035 阅读 · 0 评论 -
(转载)单元测试
点击打开链接转载 2013-11-04 16:36:29 · 648 阅读 · 0 评论 -
C# Winform 跨线程更新UI控件常用方法汇总
雁过无痕,叶落无声还是让博客记录下我成长的足迹吧C# Winform 跨线程更新UI控件常用方法汇总概述C#Winform编程中,跨线程直接更新UI控件的做法是不正确的,会时常出现“线程间操作无效: 从不是创建控件的线程访问它”的异常。处理跨线程更新Winform UI控件常用的方法有4种:1. 通过UI线程的SynchronizationContext的Post/转载 2013-11-12 19:54:48 · 1060 阅读 · 0 评论 -
非UI线程更新UI界面的各种方法小结
我们知道只有UI线程才能更新UI界面,其他线程访问UI控件被认为是非法的。但是我们在进行异步操作时,经常需要将异步执行的进度报告给用户,让用户知道任务的进度,不至于让用户误认为程序“死掉了”,特别是对于Winform,WPF等客户端程序尤为重要。 那么我们要探讨的就是如何让非UI的任务线程更新UI界面。下面对已知的几种实现方式做个总结。随着.Net版本的不断升级,实现方式还可能会增加。1转载 2013-11-12 19:56:30 · 1115 阅读 · 0 评论 -
C#调用C++库时,string析构错误
C Sharpe 调用 C动态库 string析构错误原创 2013-12-16 15:28:25 · 1300 阅读 · 0 评论 -
(转载 )深入Unity 1.x依赖注入容器之二:初始化 Unity
Unity 初始化主要是注册类型映射并指定其生命周期。在本文中,我们使用了一个接口 IDialer、一个实现了接口的抽象基类 Dialer,二个继承自 Dialer 的具体类 ButtonTypeDialer 和 FigurePlateDialer 类,以及一个使用 Dialer 的 Telephone 类。生命周期管理之所以将生命周期的管理放在开始,是因为Unity 会根转载 2014-08-18 14:23:55 · 558 阅读 · 0 评论 -
(转载)关于ContextMenu绑定问题
分类: WPF2012-12-28 15:10 453人阅读 评论(2) 收藏 举报[html] view plaincopyWindow.ContextMenu > ContextMenu Name="menu"> MenuItem Header="{Binding Path=Text,Ele转载 2014-08-09 15:05:10 · 790 阅读 · 0 评论 -
(转载)使用XmlSerializer序列化可空属性
使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互。但是XmlSerializer却不能很好地序列化类型中的可空字段。 例如,有如下定义的类Person: [Serializable] [XmlRoot(ElementName = "Person")] public class Person { public s转载 2014-08-14 10:44:07 · 2741 阅读 · 0 评论 -
浅析.NET中的引用类型和值类型(上)
.NET中的类型分为值类型和引用类型,他们在内存布局,分配,相等性,赋值,存储以及一些其他的特性上有很多不同,这些不同将会直接影响到我们应用程序的效率。本文视图对.NET 基础类型中的值类型和引用类型在内存中的布局,方法的调用,值类型如何实现接口,以及其他一些细节问题进行一些简要的讨论,文章主要参考《Pro .NET Performance》 和 《Advanced .NET Debugging》转载 2014-10-11 19:15:52 · 619 阅读 · 0 评论 -
浅析.NET中的引用类型和值类型(下)
上一篇文章中简单讲了.NET中值类型和引用类型的区别,并分析了引用类型的内存布局和实现方式,并在开始的例子中简单分析了值类型相较于引用类型的若干优点。在平常的开发中,很多人一上来就用class,而很少去想到底该用class还是struct。本文详细介绍.NET中的值类型以及在使用中应该注意的问题。在某些情况下,使用值类型较引用类型可以显著减少内存占用和GC压力,提高程序的执行效率。本文参考《Pro转载 2014-10-11 19:34:13 · 698 阅读 · 0 评论 -
JAVA闭包
一、闭包的定义。 有很多不同的人都对闭包过进行了定义,这里收集了一些。 # 是引用了自由变量的函数。这个函数通常被定义在另一个外部函数中,并且引用了外部函数中的变量。 -- wikipedia>> # 是一个可调用的对象,它记录了一些信息,这些信息来自于创建它的作用域。-- > # 是一个匿名的代码块,可以接受参数,并返回一个返回值,也可以引用和使用在它周围转载 2014-11-18 13:29:55 · 488 阅读 · 0 评论 -
delegate vs. event (多谢Cavingdeep兄的指正,等待更新……)
首先说明,event其实也是一种delegate,为了区分,我们称一般的delegate为“plain delegate”。写代码的过程中,经常会在delegate和event之间进行选择,以前也没仔细思考选择的原因,今天终于忍不住花了半天时间仔细琢磨了一下……好了,直接拿代码说话吧:using System;namespace EventAndDelegate{转载 2014-10-16 18:25:17 · 573 阅读 · 0 评论 -
(转载)接口继承的值类型和引用类型-之装箱
using System;//定义Change 方法的接口interface IChangeBoxedPoint{ void Change(Int32 x,Int32 y);}//让Point值类型实现IChangeBoxedPoint接口struct Point:IChangeBoxedPoint{ public Int32 x,y; public vo转载 2013-10-15 18:49:42 · 805 阅读 · 0 评论 -
深入理解C# 3.x的新特性
[原创]深入理解C# 3.x的新特性(1):Anonymous Type [原创]深入理解C# 3.x的新特性(2):Extension Method - Part I [原创]深入理解C# 3.x的新特性(2):Extension Method - Part II [原创]深入理解C# 3.x的新特性(3):从Delegate、Anonymous Method到Lam转载 2013-10-13 19:16:56 · 604 阅读 · 0 评论 -
(转载)玩转INotifyPropertyChanged和ObservableCollection
点击打开链接本文的代码都是基于WPF的,对于Silverlight,这些技术也同样适用。 (一)INotifyPropertyChanged的使用场合 先写一个最简单的数据绑定,每次点击Button后,TextBlock的值都会自增1。 效果图如下所示: 这里使用了MVVM模式,并把Clic转载 2013-01-19 23:48:27 · 1098 阅读 · 0 评论 -
(转载)改善C#程序的建议9:使用Task代替ThreadPool和Thread (转)
点击打开链接ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如:1: ThreadPool不支持线程的取消、完成、失败通知等交互性操作;2: ThreadPool不支持线程执行的先后次序;以往,如果开发者要实现上述功能,需要完成很多额外的工作,现在,FCL中提供了一个功能更强大的概念:Task。Task在线程池的基础转载 2012-12-14 15:12:27 · 681 阅读 · 0 评论 -
(转载) C#线程 之操作常见的六大操作方法
点击打开链接C#线程操作常见的操作方法是什么呢?C#线程操作方法的具体实现是什么样子的呢?那么下面我们来看看具体的C#线程操作的六大方法分别是什么,以及他们的特点是什么?C#线程操作一、用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程在C#中使用线程的方法很多,使用委托的BeginInvoke和EndInvoke方法就是其中之一。Beg转载 2012-12-14 14:48:16 · 728 阅读 · 0 评论 -
转载-Template、ItemsPanel、ItemContainerStyle、ItemTemplate的理解
http://www.cnblogs.com/zhouyinhui/archive/2007/03/28/690993.html这张图很好的诠释了这四个模板的用处;转载 2013-04-25 19:15:05 · 926 阅读 · 0 评论 -
(转载)C#中的object与System.Object
原文地址C# 中的关键字object是.NET的System.Object类的别名,它是所有C# 类型和.NET类型的根基类(ultimate base class)。在声明时,没有给出基类的类,C# 编译器都自动假定其派生于Object类。System.Object类是.NET框架中所有类的最终基类,是类型层次结构的根。它支持.NET框架类层次结构中的所有类,并为派生类提供低级别转载 2013-07-17 22:02:42 · 910 阅读 · 0 评论 -
1 WPF中的依赖属性之一
依赖属性实现原理图解原创 2012-03-22 10:06:41 · 1417 阅读 · 0 评论 -
(原创)C#中的单例模式-笔记
在C++中,单例模式很容易控制,知道在何时进行析构,但是在C#中,由于所有的实例都是在托管堆中,所以,我们不知道单例在何时进行释放。通常,一些配置实例被实例化成单例,以便在配置界面,还是程序在运行时,都会统一配置;在实例析构的时候,进行保存文件,如果程序异常推出,将不能正确保存文件,所以,我们可以在修改完毕就保存文件即可。 public class MouseCo原创 2013-08-10 11:29:39 · 841 阅读 · 0 评论 -
(转载)C#反射Reflection学习随笔(完结篇)_AX
点击打开链接开篇】这篇帖子真的憋了好久.无处下笔啊!搜了搜园子,已经有棵这方面的好白菜了!链接如下http://www.cnblogs.com/whxleem/category/4641.html以此为资料,学习了一下,但心有不甘,要不前两篇许下的承诺就没法实现了!于是有了这篇帖子.【正文】①什么是反射?反射提供了封装程序集、模块和类型的对象。您可以使用转载 2013-08-13 10:35:39 · 825 阅读 · 0 评论 -
(原创)2. WPF中的依赖属性之二
依赖属性:1 最终值2 LocalValue和Binding3 BaseValue,Annimatede值和Coerce,Validate在概念上的区别4 依赖属性最终值的形成的过程原创 2013-08-09 11:10:35 · 1140 阅读 · 0 评论 -
(原创)3.2 AddOwner和OverrideMetadata的区别
AddOwner,OverrideMetadata原创 2013-08-16 14:58:25 · 2939 阅读 · 0 评论 -
(原创)3.1 附加属性原理
WPF, Register , RegisterAttached, Binding, AddOwner, OverrideMetadata原创 2013-08-15 18:28:32 · 1735 阅读 · 0 评论 -
(转载)Array,ArrayList, List<>的区别
点击打开链接在C#中,当我们想要存储一组对象的时候,就会想到用数组,ArrayList,List这三个对象了。那么这三者到底有什么样的区别呢?我们先来了解一下数组,因为数组在C#中是最早出现的。数组数组有很多的优点,比如说数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如:string[] s=new string[3];转载 2013-09-08 22:38:25 · 671 阅读 · 0 评论 -
(原创)(C#随笔)IEnumerable< ICollection < IList区别
IEnumerable ,ICollection, IList原创 2013-09-08 22:37:16 · 1214 阅读 · 0 评论 -
(转载)C# Helper Object( Helper命名的类的含义 )
C#语言还是比较常见的东西,这里我们主要介绍C# Static Helper Object,包括介绍DomainHelper是一个不允许继承且具备私有构造函数的类等方面。 C# Static Helper Object C#是个纯OOP的语言,这代表着它不允许设计人员声明全局性的函数或是变量,它提倡以静态函数与静态变量来取代原本须要使用全局性函数及变量的地方,由于静态函转载 2013-09-09 21:15:49 · 2255 阅读 · 0 评论 -
(转载) C# 序列化 反序列化
点击打开链接序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二转载 2013-09-03 13:56:00 · 990 阅读 · 0 评论 -
(转载)转 lambda表达式概念
点击打开链接前言 在LINQ刚发布的时候,一直也没有时间去研究下LINQ,特别是在当时各种LINQ to ***纷纷出现,看得眼花缭乱。在LINQ中增加的lambda表达式一直觉得挺神秘的,看到各位高手把lambda表达式运用得如火纯清,很是羡慕. 最近抽空学习了解了下LINQ, 对学习的过程进行记录。文章基础,高手请飘过 :-)计划学习转载 2013-10-09 21:23:23 · 877 阅读 · 0 评论 -
谈面向对象编程OOP——C/C++,C#,Objective C
面向对象设计,顾名思义,是以对象为核心。分析出现实世界中对象,这些对象含有状态和行为,其中,状态对应着属性,行为对应着方法。除了静态分析除了对象之外,还要研究这些对象之间的动态关系。 在程序设计中,为了实现上诉的分析,面向对象语言常通过封装,继承,多态等特性来实现面向对象设计的。其中,封装理解起来很简单,有两层意思,一个是把现实世界对象的状态和特性封装起来;另外,对象只允许外部类调用一原创 2012-11-05 22:17:43 · 2659 阅读 · 0 评论