hBifTs

山自高兮水自深!當塵霧消散,唯事實留傳.荣辱不惊, 看庭前花开花落; 去留随意, 望天上云展云舒.
posts - 82, comments - 442, trackbacks - 38, articles - 27

2004年6月14日

siko的帖子:c#初学者,望指教 中,他提到了一个问题,
  string s = Console.ReadLine();
  int a = int.Parse(s);

对于上述代码,怎么很方便的检测输入的为Int型,而且性能不能影响很大.

我在评论中给出的一个方案就是,使用Try catch

int x;
while(true){

try{
x = Int32.Parse(..);
break;
}
catch(Exception ex){
Console.WriteLine(...);
}
}

但是dudu发现,这样做很影响性能.而性能的影响都是由于转换不成功,Throw 的Exception引起的.(由sumtec解释)
而且sumtec也提出了一种解决方案:
s = s.Trim();
switch (s[0])
{
  case '1':
   ...
   break;
  case '2':
   ...
   break;
  case '3':
   ...
   break;
  default:
   ...
   break;
}

或者:
s = s.Trim();
byte b = Encoding.Ascii.GetByte(s[0]);
switch(b - 0x30)
{
  case 1:
    ...
  ....
}


上述代码应该是可以完成了siko的问题了的.
但是我始终觉得这样做太,,,,厄,怎么说呢,麻烦?还是别的..
反正就是和本来的意图不相同了吧..

其实此问题的主要原因在于,确定用户输入的字符串为0-9的数字,不是字母.
这时,我们就可以通过正则表达式来对输入进行验证:)
代码如下:

   string regx = @"^\d+$";
   string temp;
   Regex reg = new Regex(regx );
   while(true){
    temp = Console.ReadLine();
    Console.WriteLine("input : " + temp);
    if( reg.IsMatch(temp) ){
     break;
    }
   }
   Console.WriteLine("hehe");
   int x = Int32.Parse(temp);
   Console.WriteLine(x);

这样,就可以很方便的检测输入的是不是数字了.呵呵...

posted @ 2004-06-14 22:25 hbifts 阅读(2228) 评论(21) 编辑

1,呵呵,是博客堂孙展波的Blog : http://blog.joycode.com/zhanbos/ 

2,一个小程序,用与GMail邮件检测的,类似MsnMessager样的东西~, 地址: http://torrez.us/archives/2004/05/23/000272.html

3,转自CCF的内容:
1、Gmail 新增了登陆选择记住密码的功能

2、设置中增加了设置签名信息的功能

3、同时也修正了写邮件的页面中文系统用户需要手动选择编码的问题

4、正式支持Mac OS X Safari 浏览器。

5、写邮件的窗口cancel按钮改为discard按钮。

另外让用户通过邮件客户软件收取邮件的软件更新为0.5版

Pop Goes the Gmail

即将增加转发到其他邮箱、HTML邮件、联系人列表导人导出功能

6.7

垃圾箱30天自动删除功能已修复

6.8

让用户通过邮件客户软件收取邮件的软件更新为0.6版

Pop Goes the Gmail

6.9

1、正式支持中文标签(label)
2、支持中文搜索,但搜索结果尚不准确
3、发送人中文名称已可正常使用(shown on mail you send)
4、中文签名可正常使用

当然,原无法正常Gmail中文邮件的邮箱除外。

6.12 简单测试了一下GMAIL的发送与接收




4. 过滤器的 To: xxx 自动被用在 Cc field 中,方便用来过滤有些邮件列表。

5. 从搜寻结果中读 email,关键词加亮可以关闭。

6. email address auto-completion 加强了。新加入的地址马上就可以用。 gmail 的这个 auto-completion 真好用。

7,gmail说明是可以上传10M附件,可是实际使用中上传8M就不行了.因为所有的邮箱所说的最大附件限制都是指编码后的,经过base64编码后,大小为以前的4/3倍.所以差不多只有8M左右.

8,GMail不允许附件中带exe为扩展名的文件.如果用Zip/rar等进行压缩,也不行.
   解决方法: 1,修改文件名,改成别的.用的时候再改回来.2,对压缩包进行加密,而且还要对包中的文件名进行加密.

9.发给Hotmail乱码问题: 设置IE中的Encoding为UTF-8可以解决,但是Hotmail给GMail发的信,我是还没搞出来能正常显示:(

10,呵呵,还有一个:
邮箱 发到gmail的信 收gmail的信 Pop收信
Hotmail OK OK
Yahoo.com.cn title乱码,内容OK 乱码
126.com OK OK
163.com OK OK
Sina.com 乱码在spam中 收不到
Tom.com OK OK
21cn.com titleOK,内容乱码 OK
mailto.cn OK 乱码 OK
Vip.81890.net Title一半乱码,内容OK OK

11,把原来的邮件转到Gmail中的工具 GML : http://www.marklyon.org/gmail/
使用方法:
http://www.cnblogs.com/hbifts/archive/2004/06/20/17346.aspx

CCF网友Rokey 做的Gmail的Ico图片
http://www.cnblogs.com/hbifts/gallery/image/1242.aspx

posted @ 2004-06-14 11:51 hbifts 阅读(1600) 评论(0) 编辑