@农
Toolbox中,interface的图标是个方框;
这里所说的棒棒糖,是指当一个class集成interface时,在class的类图上会显示一个棒棒糖(lollipop),而不是显示继承(inheritance line)
re: Excel数据导入的问题解决 Silent Void 2008-06-19 16:20
请教,如何按文本解析下面的文件格式:
-----------文件内容开始---------
字段1,字段2
00001234,00001234
00001235,00001235
-----------文件内容结束---------
读取出来的是数字,去掉了前面的0,怎样可以不然它去掉这些0,当字符串处理呢?谢谢/:)
@king2003
SecondExp的firstMethod方法中,语句 return(secondMethod()*thirdMethod()); 等效于return(this.secondMethod()*this.thirdMethod()),而secondMethod和thirdMethod都没有声明成Virturl,所以执行时CLR不用去检测this的实际类型,直接调用当前方法(firstMethod)所在类(SecondExp)里面定义的secondMethod和thirdMethod,返回10*20
re: 难道SQL的子查询就是鸡肋吗? Silent Void 2008-06-01 19:14
(
info.RESOURCE_VOLUMECOUNT -
(select count(vid3.resource_id ) from 电影表 info3
inner join TB_RESOURCE_PRIMARVIDEO vid3 on
info3.resource_id =vid3.resource_id and
info.resource_id =vid3.resource_id
)
) as lastCount,
这段sql,是使用子查询作为字段;估计是问题的根源...
建议楼主尝试下如下几种方法:
1. 楼上的有人反复提到使用join替代子查询,不知道楼主实践过没有?担心group by的效率是一个因素,但实践才是检验真理的唯一标准。
2. 使用自定义函数,输入为电影表中电影ID,输出为该电影现有资源数量。
注意:电影文件表中,以电影ID列建立(非唯一)聚集索引。
3. 电影表中,以电影ID列建立(唯一)聚集索引;电影文件表中,以电影ID列建立(非唯一)聚集索引。查询时,先从电影表中查询得到符合条件的电影ID,再去JOIN电影文件表查询得到当前资源数量,最后再回电影表(JOIN)查询其余列信息。
以上都是瞎打胡说的,不一定比你原来sql的效率高,但sql优化是一项细活儿,有时需要反复尝试,反复实践...
请教下博主,怎样自动发布Web的?
用MSBuild还是aspnet_compiler.exe?
re: 将特定格式的TXT数据文件写入EXCEL Silent Void 2008-04-24 11:02
写特定TXT格式数据?
点解不直接写成CSV格式?
re: WCF技术研究团队诚邀您的加入 Silent Void 2008-04-23 09:12
用户名:happyhippy
技术特长:瞎吹水,嘿嘿
博客园网址:
http://happyhippy.cnblogs.com
电子邮件:happyhippy@163.com
re: 面试题解(2):loop相关 Silent Void 2008-04-17 19:21
@cnfixit
谢谢提醒,已更正。
@阿滨
添加程序集引用:System.Data.dll
@阿滨
编译生成的Code时,提示找不到NameSpace?
好久没用过了,记不大清了。如果找不到NameSpace的话,在Code手动加上命名空间。
re: 类型实例的创建位置、托管对象在托管堆上的结构 Silent Void 2008-04-01 15:14
@ zicjin@gmail.com
1. 这里的“压缩”,是指GC移动堆上的对象,从而减少内存碎片,而不是对对象的内容本身进行压缩。
2. 压缩的好处是:
(1) 减少内存碎片;
(2) 压缩完成后,有个变量记录空闲内存的起始地址,下次在堆上创建对象时,可以直接用O(1)的复杂度来申请内存,而不用遍历GC堆。
re: [原]Winform自定义控件在网页上的应用 Silent Void 2008-03-12 17:27
How to publish?
re: 补充说明: 表驱动, 链表与职责链 Silent Void 2008-03-12 16:38
一口气读完了这3篇,分析得很好很透彻,“眼光练的够毒够辣”,拜下~
re: 生成大量随机字符串不同实现方式的效率对比 Silent Void 2008-03-10 09:07
循环执行这条语句本身就存在问题吧....
Random random = new Random( GetRandomSeed( ) );
Random是根据种子生成的伪随机数,建议看下Random函数的原理..
导出Excel,方法挺多,CSV、HTML、DCOM等,但各有优劣...
xlsheet.ActiveSheet.Cells[colnumber,i+1]=row[i].ToString().Trim();
效率...
re: 关于SQL Server数据库设计的感悟,请指教 Silent Void 2008-03-07 15:01
非聚集索引的描述有误,建议参考SQL Server联机丛书中的聚集索引/非聚集索引..
re: 一些面试题的回答二 Silent Void 2008-03-01 11:34
@jillzhang
有时面试官问的问题本身就比较模糊,可能问之前也没有仔细斟酌;但也正好留给面试者发挥的空间:)
re: 一些面试题的回答二 Silent Void 2008-03-01 10:20
学习了,谢谢:)
顺便提几点:
2) Windbg中,PDB可以放在系统的%Path%环境变量下,猜想“放在和对应应用程序集相同目录。”不是一个必要条件...瞎猜的/:)
4) lock的写法不太正确,考虑如下情况:调用两次LockTest()函数,则每个函数内部都会构造一个lockObj来Lock,所以这时的Lock除了增加冗余代码外,没有任何作用。一般是定义private对象来Lock, 或Lock一个private static对象变量来保护所有实例所共有的数据;
6) 猜想是在方法上应用权限相关的Attribute...瞎猜的/:)
14) Release相比Debug,做了更多的优化以提高运行性能。举一个例子:在一个方法执行到一半代码这个时间点上,GC应该可以检测到前半部分代码中构造的部分对象没有用了,但在Debug模式下,它不会回收这些对象,而在Release模式下,它可能会回收这些对象。这只是一个例子,应该还有很多其他的优化,如冗余代码、循环优化等,毕业出来半年,编译原理都都忘光了...汗...
16) 引用.net框架书中的说法:类继承基类表达的是一种“IS-A”的关系,而类继承接口表达的是一种“Can-Do”的约束。另外,正是“抽象类能有具体实现,而接口只定义行为规范,不能有具体实现”,则子类在继承基类时,可以继承并重用基类的实现,这样做的好处是减轻构造子类的负担,带来的副作用是增加了父类和子类的耦合。
17) 要看a的类型定义中,有没有重写Equals方法和重载==操作符。
re: Sql server一些常见性能问题的总结 Silent Void 2008-02-29 19:40
测试了下7中说的两种情况:
select id from t where num=@num
select id from t with(index(索引名)) where num=@num
貌似说法也不太准确,存在如下几种情况:
if(select中的所有列--例如本例中的id--也在num所在的索引中)
then
执行表扫描
else
{
if(使用参数化查询)
then 执行索引扫描
else 从索引中找
}
re: Sql server一些常见性能问题的总结 Silent Void 2008-02-29 17:43
@楼主
@Leem
第11的说法的确不太准确,但结论是正确的:“在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致。”
我们可以自己测试(从执行计划中观察),譬如在Table的A列+B列上建索引,则
SELECT ..... Table WHERE A='...' //会使用索引;
SELECT ..... Table WHERE A='...' AND B='...' //也会使用索引;
而SELECT ..... Table WHERE B='...' //会触发索引扫描;
SELECT ..... Table WHERE A='...' OR B='...' //也会触发索引扫描;
这跟SQL Server索引的实现原理相关,具体可参考用B树的性质。
re: 逆序输出单链表 Silent Void 2008-02-29 14:36
@胡满超
1. 节点类型不一定是string, string是不变类型。
2. 递归还要反复判断、参数传递等开销吧,直观地看,不如自己维护一个stack。
3. 开个新链表,浪费点儿空间。
re: 逆序输出单链表 Silent Void 2008-02-29 13:11
递归也需要压栈和出栈
re: 基于N层满N叉树的组合算法 Silent Void 2008-02-29 09:10
@RoyDeng
怪了,你的回复在评论列表中显示不出来?
如果N>64,可以考虑用BitArray,......
re: 基于N层满N叉树的组合算法 Silent Void 2008-02-28 10:51
汗,博客园的回复中,部分内容显示不出来,查看Source HTML没有问题。
如果N<=32,可以考虑用uint
如果N in (32,64],可以考虑用ulong
如果N>64,可以考虑用BitArray,......
re: 基于N层满N叉树的组合算法 Silent Void 2008-02-28 10:06
大致思路如下:获取下一个具有同样数量的1位的更大的数
unsigned snoob(unsigned x)
{
unsigned smallest, ripple, ones;//e.g.: x=XXX0 1111 0000
smallest = x & -x; // 0000 0001 0000
ripple = x + smallest; // XXX1 0000 0000
ones = x ^ ripple; // 0001 1111 0000
ones = (ones >> 2) / smallest; // 0000 0000 0111
return ripple | ones; // XXX1 0000 0111
}
(
http://www.cnblogs.com/happyhippy/archive/2007/04/24/725127.html,上面是在《Hacker's Delight》看到的一个算法)。
参考该算法,可以考虑将用位串表示集合,1表示选中,0表示未选中,从N个元素中选出M个元素,则转化为N位中有M个位为1:
最小:0…………01……1(N-M个0,M个1)
最大:1……10…………0(M个1,N-M个0)
用上面的位操作可以求得位于最小值和最大值之间M个1的组合。
如果N<=32,可以考虑用uint
如果32
如果N>64,可以考虑用BitArray,不过BitArray只实现了按位的Or、And、Xor、Not等,+、>>、/等操作需要自己实现
re: 基于N层满N叉树的组合算法 Silent Void 2008-02-27 14:03
算法有什么用?就是求组合吗?
记得有现成的o(1)算法能求每一个组合(m in n),只用了几个位操作,回头我找找看。。。
一个疑问:“10组合3的情形下每秒输出组合数为9,401,760个”,10组合3的话,也就那么百来个组合,咋输出这么多的?(不好意思,懒得看代码...)
re: 基于N层满N叉树的排列算法 Silent Void 2008-02-27 13:31
就是求全排列?一个递归不久Over了,用这么复杂的?
re: 面试题解(1):单向链表相关 Silent Void 2008-02-03 09:15
@周银辉
谢谢:)
re: 面试题解(1):单向链表相关 Silent Void 2008-02-02 17:56
@浴盆
什么都不是的伪代码=,=
re: vs2008中文版提供下载(包含中文msdn) Silent Void 2008-02-02 14:20
vs2008中文版提供下载......不知道大家都平安回家过年了没.
---------------------------
Good News
可怜的我还在外漂泊,穿不过广州火车站门口那20+W人....
可能要响应党的和谐号召,留在广州过年了,呜呜...
re: WCF从理论到实践四:路在何方 Silent Void 2008-02-01 11:22
楼主能不能介绍下:Address中的逻辑地址("To")和物理地址("Via"),找了N就也没找到相关的资料,郁闷..
thx
“不访问IsDisposed属性,也不能修改Form2的Dispose方法,Form必须在Form1构造函数中初始化”
还是现实一点好...程序是死的,只能按照人为设定的方式来执行...
心理上支持一下,虽然我两天之后也要去广州火车站挤车...呜呜呜....
re: .Net类库中实现的HashTable Silent Void 2008-01-30 11:30
以前一直在用,却很少留意细节,谢谢楼主....
不过,下面的说法貌似不太准确:“当HashTable过满时,会新建立一个容量为当前俩倍的数组,然后将旧数组的值复制到新数组对应的位置。”
1. 容量不是×2,而是 int prime = HashHelpers.GetPrime(this.buckets.Length * 2);这里有取最大素数的;
2. 复制的过程中,会对每一个键值重新计算位置的;
Hashtable.bucket[] newBuckets = new Hashtable.bucket[newsize];
for (int i = 0; i < this.buckets.Length; i++)
{
Hashtable.bucket bucket = this.buckets[i];
if ((bucket.key != null) && (bucket.key != this.buckets))
{
this.putEntry(newBuckets, bucket.key, bucket.val, bucket.hash_coll & 0x7fffffff);
}
}
re: 女儿感恩的心 Silent Void 2008-01-26 17:40
楼主教子女有方。。。
向楼主请教:
如果配置了EndPoint的逻辑地址(address)和物理地址(listenUri),则客户端生成的Config文件中,连接地址指向逻辑地址,这是调用ServiceMethod会抛出异常:
Additional information: There was no endpoint listening at http://...../LogicAddress that could accept the message. This is often caused by an incorrect address or SOAP action。
如果手动修改Config的配置文件,将EndPoint的Address属性配置成逻辑地址,behaviorConfiguration配置相应的物理地址,却又抛出:
Additional information: The binding specified requires that the to and via URIs must match because the Addressing Version is set to None.
请问楼主有没有遇到类似的问题?
thanks:)
re: 乱谈中国职业教育 Silent Void 2008-01-22 09:02
有鉴于此,“所以”更要推行“和谐”....
@xiaoniu_1202
protected void GridView1_PreRender(Object sender,EventArgs e)
{
......
}
@迭戈
实现or:
foreach (string keyword in keyWords)
{
var key = keyword;
entitys.Union(entitys.Where(e => e.Contains(key)).ToList());
}
@xiaoniu_1202
GridView的PreRender事件中调用:MergeGridViewRows(gridView,0,5)
@油纸伞
@Artech
有些版本没有Refactor功能,例如Express版本...
re: 团队管理中的有效沟通(续) Silent Void 2008-01-04 09:21
我们入职培训时,HR就组织我们玩了这个游戏,我所在的组最先完成任务:),感觉挺好玩挺深刻的...
re: C#与EXCEL的数据交互(二) Silent Void 2008-01-03 12:38
支持一下,最近也在做Excel导出,不过要支持大数据量、单元格的合并、制作多表头等,用MS的Excel组件和HtmlTable分别做封装了下,回头有时间再发上来。。。
re: 用MIME格式描述多内容Excel工作表 Silent Void 2007-12-29 10:33
请教楼主:
Content-Location: file:///C:/A257C953/
这个编码是自动生成的吗?有没有什么规律的?谢谢
re: “精确”判断一个浮点数是否等于0 Silent Void 2007-12-28 12:46
@yorkjohn@hotmail.com
双精度浮点数(8byte)表示法:1bit符号位,11bit指数位(用阶码表示),52bit小数部分(尾数)。所以一个规格化的单精度浮点数x的真值为x=((-1)^S)*(1.M)*(2^(E-127));
当时我们并不能用“*ptrToInt&(0x7fffffffffffffff)) ”在32bit的计算机上判断这个双进度浮点数是否等于0,因为32bit的计算机上整数的大小范围问题,其不可能达到0x7fffffffffffffff。可以考虑每4个byte这样来比较,例如(没有考虑大小端问题):
(*ptrToInt&(0x7fffffff)) && (*(prtToInt+4)&(0xffffffff))
有关大小端问题,可以参考:
http://www.cnblogs.com/happyhippy/archive/2006/12/19/601222.html
电话面试还用自己打电话过去的?对方(公司)连电话费都支付不起...
re: 刷新后控制TAB键到下一个控件 Silent Void 2007-12-19 19:29
foreach(Control con in this.Controls)是按页面添加控件的顺序来遍历吧,如果页面上有调整控件的位置呢?