mytudousi 2012-02-07 15:53
写的确实不错,给了我很多启示,怎么会有人说写的不好呢?
我自己就没那么多耐心去辛辛苦苦的举那么多例子去说明一个技术问题,楼主值得学习...
异朵 2012-02-01 16:47
你的乾坤大挪移很。。。精彩。。谢谢啦~
我是你哥 2012-01-16 04:02
nalixia ..
深潭 2012-01-12 23:28
这么好的文章,没有人支持吗?
wlf 2011-12-28 17:50
这么好的文章 支持推荐~
AndyYu 2011-12-25 12:11
楼主写得不错哦,写得很详细
Richeir 2011-11-23 10:18
找本.NET的好书不容易啊。。
园子里的好文章还是很多的,但是像LZ说的那种误人子弟的也有啊。。感谢LZ给出的这个关于反射的理解。
Robert-Fang 2011-11-16 00:04
IChannelFactory<IDuplexChannel> factory = binding.BuildChannelFactory<IDuplexChannel>(parameters);
报错
The specified channel type System.ServiceModel.Channels.IDuplexChannel is not supported by this channel manager.
Parameter name: TChannel
YipWingTim 2011-11-09 02:15
@幸存者
你思维明显有问题。
pbc418 2011-11-08 21:44
???????????
要有好的心情 2011-11-07 12:05
期待中......
Ztmdsbt 2011-10-25 11:34
"包氏波动思想"这个名字太狂妄了.
你独创的思想才敢这么命名.
Ztmdsbt 2011-10-25 11:30
楼主下面木有了...
Đức Sơn 2011-10-24 22:38
Thank you.I'm a Vietnamese.I can not read Chinese.hope there are lessons to be translated into English.
荒原风雪 2011-10-21 15:22
很不错 学习了!
啊汉 2011-10-19 14:15
我不知道你是怎么得到微软的Offer的,你的代码实在写得有点糟糕:
1:if (str == null || str.Length == 1) return str;
为什么是等于1,而不是小于2,如果传入" ",程序运行了半天其实啥都没有做
2:你说的什么2的N次方不就是想说你知道<<的用法吗?其实跟这里半毛钱的关系都没有
3:i = i + pow * 2这代码写得!你不是会用<<吗,至少也应该写成i+=pow<<1吧,呗有面子
4:char temp 写在三重循环里面,在最外面定义一下不行吗?你看你交换一个数据多麻烦,获得数组的索引还在进行加减法,在交换之前为什么不判断一下呢
5:难道arr[i] = str[i];i++;不可以写成arr[i] = str[i++];吗?
6:if (pow == len)
return 0;
else //pow>len
return pow;
这个else有存在的价值吗?
7:我是不是过分了点?
HumWang 2011-10-09 11:20
包老师什么时候有空做一个勘误表,最近正在阅读包老师的这本著作。
无名草 2011-09-04 20:34
嗯,很不错的文章。。。
wuzhengqing 2011-09-02 17:01
我想做个打印预览,在.net4.0里有xps但3.5里没有,可项目是3.5的!无奈,BZ有什么解决办法吗?
Jianqiang Bao 2011-08-31 15:36
[code=csharp]
class Program
{
static void Main(string[] args)
{
美猴王 mhw = new 美猴王();
圣旨 sz = new 立即报道(mhw);
太白金星 tbjx = new 太白金星(sz);
tbjx.传旨();
}
}
public interface 圣旨
{
void 执行();
}
public class 太白金星
{
private 圣旨 sz;
public 太白金星(圣旨 sz)
{
this.sz = sz;
}
public void 传旨()
{
sz.执行();
}
}
public class 立即报道 : 圣旨
{
美猴王 mhw;
public 立即报道(美猴王 mhw)
{
this.mhw = mhw;
}
public void 执行()
{
mhw.上天();
}
}
public class 美猴王
{
public void 上天()
{
Console.WriteLine("Come on!");
}
}
[/code]
Jianqiang Bao 2011-08-31 15:14
[code=csharp]
class Program
{
static void Main(string[] args)
{
State state1 = new State() { A = 1, B = 2 };
State state2 = new State() { A = 11, B = 22 };
State state3 = new State() { A = 111, B = 222 };
Originator originator = new Originator();
CareTaker careTaker = new CareTaker();
careTaker.Add(originator.CreateMemento(state1));
careTaker.Add(originator.CreateMemento(state2));
careTaker.Add(originator.CreateMemento(state3));
var mm = careTaker.Restore();
Console.WriteLine(((Memento)mm).State.A.ToString());
mm = careTaker.Restore();
Console.WriteLine(((Memento)mm).State.A.ToString());
mm = careTaker.Restore();
Console.WriteLine(((Memento)mm).State.A.ToString());
}
}
public interface IMemento
{
}
public class Memento : IMemento
{
public Memento(State state)
{
this.State = state;
}
public State State { get; set; }
}
public class State
{
public int A { get; set; }
public int B { get; set; }
}
public class Originator
{
public Memento CreateMemento(State state)
{
return new Memento(state);
}
}
public class CareTaker : List<IMemento>
{
public IMemento Restore()
{
if (this.Count == 0)
return null;
IMemento m = this[this.Count - 1];
this.Remove(m);
return m;
}
}
[/code]
博客园的初学者 2011-08-30 20:54
大侠,请给我指点一下迷津!
MainPage.xaml中代码:
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="使能LAN触发" SortMemberPath="Trig_EnableInfo.Trig_EnableName">
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Trig_EnableList, Source={StaticResource trig_EnableProvider}}"
SelectedItem="{Binding Trig_EnableInfo, Mode=TwoWay}"
DisplayMemberPath="Trig_EnableName"
src:ComboBoxService.ForceOpen ="True"
Name="LANMessageTrig_enable_comboBox"
SelectionChanged="LANMessageTrig_enable_comboBox_SelectionChanged"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
其中LANMessageTrig_enable_comboBox不能在MainPage.g.i.cs文件中自动生成,所以在MainPage.xaml.cs引用时出现“名称在上下文中不存在”。我又手动添加
internal System.Windows.Controls.LANMessageTrig_enable_comboBox;
this.LANMessageTrig_enable_comboBox = ((System.Windows.Controls.ComboBox)(this.FindName("LANMessageTrig_enable_comboBox")));
可在运行时就自动删除我手动添加的两句。结果还是在MainPage.xaml.cs引用LANMessageTrig_enable_comboBox时依然出现“名称在上下文中不存在”的错误。这该怎么解决啊?先谢了啊!
zhaodacheng 2011-08-19 11:05
简单明子,学习
久久GG 2011-08-16 16:47
包哥改写游记啦……
空葫芦 2011-07-30 09:51
[quote]Domi.Z:
希望博主能够讲解一下消息契约和数据契约在本质上的区别,使用场合,使用原则等等。
还有情形2和3,感觉使用起来非常的别扭,为什么会这样呢?[/quote]
以stream方式上传文件的时候会用到。
如果不使用MessageContract,传入参数或传出参数若有Stream对象,那便只能有一个Stream对象。
比如你传文件,传了文件数据,还想传文件名,就有点愁人了。要用MessageContract,把文件名等等一些文件的元数据用MessageHeader标记,文件数据流用MessageBody标记可以成功。
ProjectDD 2011-07-17 03:38
只有你自己能看懂
Henming 2011-07-13 15:56
要是做成三国杀类的就神奇了
Jianqiang Bao 2011-07-12 13:47
对于不交叉的两个单链表,其实后半截算法可以简化:
[code=csharp]
static SingleLink MergeTwoLink(SingleLink first, SingleLink second)
{
SingleLink newHead = new SingleLink() { };
SingleLink curr = newHead;
while (first.Next != null && second.Next != null)
{
if (first.Next.Element < second.Next.Element)
{
curr.Next = new SingleLink() { Element = first.Next.Element, Next = first.Next };
first = first.Next;
}
else
{
curr.Next = new SingleLink() { Element = second.Next.Element, Next = second.Next };
second = second.Next;
}
curr = curr.Next;
}
if (first.Next == null)
{
curr.Next = second.Next;
}
else
{
curr.Next = first.Next;
}
return newHead;
}
[/code]
Jianqiang Bao 2011-07-11 16:01
一年半载后重温第3题,其实有更好的解法(同时适用于奇数和偶数):
[code=csharp]
SingleLink first = head;
SingleLink second = head;
bool isEven = true;
while (first.Next != null)
{
if (first.Next.Next != null)
{
first = first.Next.Next;
second = second.Next;
}
else
{
isEven = false;
second = second.Next;
break;
}
}
if (isEven)
{
Console.WriteLine(second.Element.ToString());
Console.WriteLine(second.Next.Element.ToString());
}
else
{
Console.WriteLine(second.Element.ToString());
}
[/code]
carlosfu 2011-07-07 21:43
f(4,8)*f(4,8)
??
骑驴过赵桥 2011-06-10 16:26
楼主你好!我按照Prism框架写了一个小Demo,但是存在问题,当程序执行完
[code=csharp]
protected override DependencyObject CreateShell()
{
return this.Container.GetExportedValue<Shell>();
}
[/code]
之后不会去执行AutoPopulateExportedViewsBehavior,而是直接跑去InitializeShell了,请问这是怎么回事?貌似我对这个框架还不是很明白!
骑驴过赵桥 2011-06-10 14:52
博主,你好!看了你关于Prism框架的文章,我按照介绍自己搭了一个基于Prism框架的项目,在Modules中自定义了一个控件,我想根据Data中的数据来绘制自定义控件的内容,绘制完成后将其添加到Shell主窗口中,运行,只能看到自定义控件中GridView的表头部分,始终没法取出数据,能不能给我一点点分析和建议?谢谢,我是初学者!
骑驴过赵桥 2011-06-08 09:25
不知楼主Prism框架的其他文章怎么样了,我正在学习中,期待啊!感谢楼主讲解!
vvGO 2011-05-03 14:13
你好 请问可以指点一下prism的ut吗,任何关于这方面的内容都可以。。。比如prism代码里用到的也行。。。呵呵
Victoria520 2011-04-22 09:00
学习了。。。。。。
Cyril 2011-04-14 16:21
您好,打包的代码里面两个项目加载不了。。
zffl 2011-03-21 14:01
Image翻译为图像?
飞戈戈 2011-03-15 08:57
[quote]小伦:
[quote]包建强:
@幸存者
确实是Insert Sort。
我只是模拟用Link代替array的排序算法,具体哪个快嘛,当然是o(nlogn).
另外,关于找环的起始点,请详细解释你的算法的原理?[/quote]
这不是冒泡么
[/quote]
恩
小伦 2011-03-10 10:47
[code=csharp]
//把一个有序整数数组放到二叉树中的算法是不是有问题啊,少了左子树的生成过程,我的代码:
BinaryTreeNode InsertIntoBinaryTree(int[] array, int startIndex)
{
BinaryTreeNode root = new BinaryTreeNode(array[startIndex]);
if ((2 * startIndex + 1) < array.Length)
root.Left = InsertIntoBinaryTree(array, 2 * startIndex + 1);
if ((2 * (startIndex + 1) < array.Length))
root.Right = InsertIntoBinaryTree(array, 2 * (startIndex + 1));
return root;
}
[/code]
好问 2011-03-07 16:20
学习了、楼主写的真给力、
paul_wbc 2011-03-07 11:59
请教一个问题:
在FlowDocumentScrollViewer里嵌入FlowDocument,出现滚动条时,怎样实现鼠标指到FlowDocument元素时滚动鼠标中键实现滚动条的滚动。
期待您的解答。
Jianqiang Bao 2011-03-05 23:48
http://msdn.microsoft.com/en-us/library/dd647547.aspx
Laro 2011-03-02 23:07
1楼就SB一个,楼主谢谢的你无私奉献
Jianqiang Bao 2011-03-01 10:23
@T-John
对的
T-John 2011-02-28 23:17
请问一下,当我生成Silverlight项目的时候,是不是应当在Build的那台机子上装Silverlight SDK。求教,谢谢!
FireWard 2011-02-26 14:49
@装配脑袋
果然,啥东西都是有用的.....
FireWard 2011-02-26 14:45
妙啥啊,不是只需要额外1个空间就能实现一对数据的交换么?
即空间复杂度O(1)。
for(int i=0; i < n/2; i++)
{
//就需要这个额外空间
char temp = arr[i];
arr[i] = arr[n-1-i];
arr[n-1-i] = temp;
}
箫阁锁颜 2011-02-22 21:39
下来看看
aigis 2011-02-15 18:00
写得真好!佩服!
gaops2008 2011-02-14 17:32
写得真好!佩服!