
c#
文章平均质量分 70
batilei
Temporal - Spatial Data
展开
-
C#的Contains() 值还是引用
这里讨论的是List的Contains方法,Contains方法默认调用类型T的Equals方法而Object类的Equals方法支持值类型的比较和引用类型的比较,即如果继承自Object的类是引用类型的(C#中的所有类都继承自Object类),那么该类的Equals就比较是否引用了同一个对象。相反Struct结构体是值类型的,它的Equals方法使用值类型比较。C#中的String类比较转载 2012-02-09 20:05:25 · 6725 阅读 · 2 评论 -
GDI高速图像绘制
虽然现在在图像图形上想提速,公认还是使用GPU了。但是如果机器没有一个好的显卡?你只是想写一个简单的.Net程序?GDI在其平台的易用性还是有很强的市场。只是一旦你需要使用GDI多次甚至大量的绘制图像时候,当你只是想简单的但是多次的复制图片的时候,使用Graphics.DrawImage()的性能绝对会崩溃。 查了很久,Gameres几个哥们给了几个很好的建议,主要思路是直接对Bitma原创 2012-05-16 20:53:21 · 1896 阅读 · 0 评论 -
databinding ObservableCollection易错之一:重新New一个新地址,不会自动通知UI
刚用Databinding的同学会经常有各种各样失败的原因。最近在对Databinding对Collection做绑定的时候,犯了一个错误,感觉挺常见的,分享记录下:很多初学者大概以为ObservableCollection对ObservableCollection<>重新new一个地址,它并不会把新New 的地址发消息告诉UI,UI记录的source target的地址依然是之前的,除非你自原创 2012-05-07 21:38:26 · 2254 阅读 · 1 评论 -
C#拖拽控件
写了这么些年程序,界面写的较少。实习被逼补了下。趁有空总结下。 模仿着写了一个简单的拖拽相应命令的Demo。当鼠标点击屏幕时,生成一个红色的UI(这里用Rectangle表示),当点击Rectangle时,变成绿色,可以拖拽它。当松开它时,就会变成黄色。在XAML里,我让它相应一个鼠标左键按下的命令。 Canvas x:Name="myCanvas" Backgroun原创 2012-04-17 19:45:12 · 1533 阅读 · 0 评论 -
一个简单的Silverlight的DataBinding和DateTemplate的Demo
DataBinding和DateTemplate 都是Silverlight Wpf常用的UI技术。仿做一个简单的日程表Demo总结下。 该Demo主要通过DataBinding将TaskCollection相关Task显示在UI上,而显示的方式则通过DataTemplate来定制。 实现接口INotifyPropertyChanged该接口负责当我们的数据,或者UI被修改后,原创 2012-04-28 10:59:33 · 835 阅读 · 0 评论 -
一个Silverlight的可视化图的DataBinding的Demo
看了不少DataBinding的Demo都是商务应用的,这里做一个图的可视化的DataBinding的小Demo。这里为了简单,只是绘制简单的点和线:将图的相关信息GraphLayoutVM(点和边的位置)DataBinding到UI 显示。 下面是具体的实现。 先是DataBinding里最常用的的类ViewModelBase,实现INotifyPropertyCh原创 2012-04-28 11:41:18 · 1279 阅读 · 0 评论 -
DataTemplate
.NET Framework 4.5.NET Framework 3.5.NET Framework 3.0 11 out of 17 rated this helpfulRate this topicThe WPF data templating model provides you with great flexibility to define转载 2012-03-15 12:58:47 · 949 阅读 · 0 评论 -
如何遍历C# 中 Dictionary。
关键利用KeyValuePair。 定义一个Dictionary: Dictionary aggUpGroupPointDic = new Dictionary(); 遍历它: foreach (KeyValuePairkeyValuePair inaggDownGroupPointDic) { Console.WriteLine(“Poin原创 2012-03-08 17:16:59 · 945 阅读 · 0 评论 -
Silverlight自适应布局
如果Grid是页面中的根元素,Grid不会根据子元素的尺寸来改变大小,在下面的例子里,Grid会充满整个页面。 Grid.Column="0" Grid.Row="0" Fill="Blue"/> Grid.转载 2012-02-29 09:46:28 · 1333 阅读 · 0 评论 -
C#争论:什么时候应该使用var?
C# 3新增了关键字“var”。在编译器能明确判断变量的类型时,它允许对本地类型进行推断。然而,对于何时应该使用它却存在某些争论。AD: C# 3新增了关键字“var”。在编译器能明确判断变量的类型时,它允许对本地类型进行推断。然而,对于何时应该使用它却存在某些争论。 开发IDE工具的公司ReSharper的Ilya Ryzhenkov总结了使用va转载 2012-02-22 18:04:07 · 1716 阅读 · 0 评论 -
C++与C#之容器Map的比较
在C++ 和 C#都用过map,非常常用和实用的一个容器,两个语言中用途都是查找,但是内部的机制却不一样。简单总结下。 1:值与引用:正如C# 和 C++的区别,C#中的map是根据key的地址去找,而C++的map,则是根据key的值去查找。 2:实现机制:如上面所说,对key的不同理解,就决定了不同的算法。C#的map是用hash,而C++的查找,则是用红黑树。 3: 用法比原创 2012-08-09 13:03:55 · 9262 阅读 · 1 评论