C#中的HashTable是无序的,ArrayList是有序的。很多时间我们想要二者的统一。毕竟HashTable比较方便的,Key-Vaule的模式是相当的方便。去某个值的时间不需要去遍历。
HashTable的序列化,可以借助ArrayList来完成的。
ArrayList list = new ArrayList(htOld.Keys);
list.Sort();
foreach (string str in list{
htOld[str];
//其他操作
}
合理的使用HashTable可以让很多复杂的操作简单许多的。:)
已经很久没有过指针了,还是挺喜欢Point的,不过这次相见,太不爽了。让我迷茫了半天。一直以来都以为C#中的指针只有在unsafe模式下才可以使用。没想到会在使用数组的时间碰到。
数组应该是C#中比较特殊的一个类型了,C#中有值传递和引用专递,一般都是值传递的。而数组默认是引用传递。所以在使用数组的时间应该谨记这条,不然会出很让人迷茫的问题。
项目最近的进展还是比较顺利的,自己负责的部分也算可以了。明天就要进入最复杂的部分,希望一天之内结束。周五晚上就可以开赴河南了。哎!好久没回去了,和上次回去相比,自己胖了好多。要减肥了!:)
DateTime的ToString方法挺方便的,但是其中的格式字符串太多了,搜集了一下,
在这里记录一下。
d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,
则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,
则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,
则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。
f 秒的小数精度为一位。其余数字被截断。
ff 秒的小数精度为两位。其余数字被截断。
fff 秒的小数精度为三位。其余数字被截断。
ffff 秒的小数精度为四位。其余数字被截断。
fffff 秒的小数精度为五位。其余数字被截断。
ffffff 秒的小数精度为六位。其余数字被截断。
fffffff 秒的小数精度为七位。其余数字被截断。
t 在 AMDesignator 或 PMDesignator 中定义的 AM/PM
指示项的第一个字符(如果存在)。
tt 在 AMDesignator 或 PMDesignator 中定义的 AM/PM 指示项。
z 时区偏移量(“+”或“-”后面仅跟小时)。
一位数的小时数没有前导零。
例如,太平洋标准时间是“-8”。
zz 时区偏移量(“+”或“-”后面仅跟小时)。
一位数的小时数有前导零。
例如,太平洋标准时间是“-08”。
zzz 完整时区偏移量(“+”或“-”后面跟有小时和分钟)。
一位数的小时数和分钟数有前导零。如,太平洋标准时间是“-08:00”。
: 在 TimeSeparator 中定义的默认时间分隔符。
/ 在 DateSeparator 中定义的默认日期分隔符。
% c 其中 c 是格式模式(如果单独使用)。
如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字
符。
\ c 其中 c 是任意字符。照原义显示字符。若要显示反斜杠字符,
请使用“\\”。
11.29号微软公布了.Net Web系列的产品路线图。虽然现在参加的项目是CS的,但是其中有很多地方还是相当值得关注的。
发布.NET Framework 的部分类库源代码(Releasing the Source Code for the .NET Framework Libraries)
开放.NET Framework 的部分源代码,.NET Framework 中有很多地方写的是相当的不错,不知道到时间会开放到一个什么样的程度。应该仔细的看下,能够从中学到不少的东西,而且以后也可以对.NET Framework 作出一些修改。
ASP.Net3.5扩展发布(ASP.NET 3.5 Extensions Release)
新的扩展里面包括了ASP.NET MVC,ASP.NET AJAX Improvements,ASP.NET Dynamic Data Support,ASP.NET Silverlight Support,ADO.NET Data Services这些扩展,自己比较关注的就是MVC,Dynamic Data Support和ADO.NET Data Services。不知道这个版本的ADO.NET会给我们带来什么样的惊喜。
其他就是Silverlight 2.0和IIS7.0了,现在还不是很关注这个。
MS的》Net路线还是挺好的,挺方便的。你所要做的很多时间就是有那个想法就行了,实践起来很方便。但是这种方便有时间也是让人感觉不爽的,很多机制对我们来讲是透明的。希望这次Framework部分代码的公开能够给我们一个机会去领会其中的内容。
公司为什么不使用最新的Framework呢,如果现在的项目有LINQ的话,那会多么方便啊!
最近在忙公司的一个软件的测评,两天都是在陕西软件评测中心过的,好无聊,下午回到公司写了一个计算年龄的函数。哎!赶紧结束吧。发现最近好久没更新技术的东西了,懒惰啊!
[coolcode lang="C#"]
///
/// 年齢の決算
///
///
///
private int Age(string seiymd)
{
int Seiy = Convert.ToInt32(seiymd.Substring(0, 4));//年
int Seim = Convert.ToInt32(seiymd.Substring(5, 2));//月
int Seid = Convert.ToInt32(seiymd.Substring(8, 2));//日 int nowyr = DateTime.Today.Year;//今の年
int nowmh = DateTime.Today.Month;//今の月
int nowd = DateTime.Today.Day;//今の日
int year=nowyr-Seiy;
if (year > 0)
{
if (nowmh - Seim < 0)
{
year–;
return year;
}
if ((nowmh == Seim) && (nowd - Seid < 0))
{
year–;
return year;
}
}
else
{
year = 0;
}
return year;
}
[/coolcode]
项目正式开始了,第一天详细的讲解了一下项目的框架和framework。中间感觉还是讲framework的时间收获很大。虽然自己已经看过底层的代码了。但是还有许多的不明白。这下就清楚了很多,虽然实现方法和后期我们编程没有太大的关系,但是对于这些底层东西的原理的了解会给自己的成长有很大的帮助的。
同时还在进行以前的一个项目,客户的需求有变了。哎,只希望现在这个不至于经常变更了。不过中移动的项目好处就是自己把.NET中常用一些方法都实践了一遍。:)其实主要的思想就是那些,然后就是随机应变了。
感觉编程和数学建模差不多。思路都是先把复杂的问题简单化,然后再把复杂化。:)
听前辈们说元旦有三天的假期,期待到时间可以轻松一下,去晓丽那里。