『转』很有哲理的十禁

  

第一禁:禁止空想 
一只未成年的猪或许可以是这个世界的宠物……可是,究竟谁是谁的玩偶呢? 
有人买了迷你香猪,数月后竟变成重达300斤的灾难。主人没有吃它,因为喜欢上这个冒着臭气号称“香猪"的家伙。于是,街坊遛狗时,他只能带着这个大家伙出门。好复杂的感情历程——从浪漫主义到现实主义再到批判主义。男女之间不也是如此吗?接受现实就是“禁"头。 

第二禁:禁止话痨 
在看似优柔寡断的表象背后,我们享受了慵懒与徜徉生活慢流中的惬意。“哦,开一艘慢船去巴黎",我们在慢中接近了男人的核心。 
它的眼神很明确,没看出来?你的身边行人如织,男男女女,老老少少,识人如金是大圣的专长,用不着和猴子拼视力。不要被外表所骗,不要对真相有过高期望,这就是“禁"的本质,不放纵自己,不指责别人。面具有时只是想含蓄一下,不要太在乎显而易见的指责,比如——二。 

第三禁:禁止示强 
“禁"是需要示弱的修养。在淮海战场上,国军邱清泉上将对手下就说——猪是最聪明的动物。面对攻击它会在墙根坐下,这样,背面是最安全的后方。职场是男人的战场,欲望需要靠墙根坐下,背后除了安全还有累累白骨,这样,才能看到前方的十字。“一将功成万骨枯",只有万骨都枯了,才有资格接受欲望的礼物。 
软并不可怕,男人的不应期正是对这个世界权力与欲望的修订。他会从卧室的地板上捡起姑娘抽剩的烟屁股猛嘬一口,并悄悄对自己说:“瞧,在两次崩溃之间,这个世界还是我的 

第四禁:禁止盲动 
没方向时不要乱动。老鼠犯的错误是——在轮盘里进行一次没有可能的赌博。输家不言自明,赌注就是希望。不用怜悯,轮回本来就是宿命,无论对鼠,还是对人。不停奔跑,未必就是远方。没人让你留在原处,只是离开前,你就需要找到方向。   
在大海上航行,对前途乐观的人往往会轻信海市蜃楼;在轻信与悲观的钟摆之间,男人需要的是一只老鼠的免疫力。 

第五禁:禁止承诺 
牙尖嘴利架不住甜蜜的龋齿。沉默是金。 
当我们和姑娘接吻的时候,她们为了我们的金牙。有一天我们老了,姑娘会成为我们的金牙吗? 
  
第六禁:禁止虚伪 
摊开双手表示坦荡,放在桌面的也并非全是真理。世界总会有出人意料的设计,湖南洞庭水灾,威胁人命的却是20亿只逃上岸的耗子,而它们的去处竟然是广州的餐桌。不要再以为得逞就洋洋自得,外型是只耗子,思想却是鼠疫。   
火山为什么有休眠期?只是因为星体之间的引力。当死亡的重力微弱,男人就会喷射出金属的味流。 

第七禁:禁止乱性 
错乱的不只是思想。贝克汉姆面对温布利10万侮辱老婆的嘘声竖起了中指,相信这是爱情在此时让他如此坚挺。但再坚挺,终究没有阻挡住这个浑身刻满维多利亚的猛男匍匐在助理瑞贝卡的胯下。女人总是会因为镶满石头的戒指而意乱神迷,全然不顾戒指摘掉后露出的是根中指。那男人呢?也许,有时只需要中指,这就是态度,不如有人嘘你老婆。 
在薄薄的镜片后面,我们已经明晰了一个镜球世界:被世界夸大的所谓男人慷慨的本质,其实也正是对于女人的一种睿智审美。 

第八禁:禁止圈养 
圈养是用味道鲜美的饲料供给我们身体以死亡的一种方式。当欲望有了6对乳房,再计划的生育都是荒唐。猪足够大时,你需要的是20年没洗的围裙和飞快的屠刀。那欲望呢? 

 第九禁:禁止厚黑 
厚或者黑,都是一门哲学,有关脸皮的哲学,有关生存的哲学。当第一次拿着《厚黑学》问这是什么意思时,母亲很警觉,毕竟对于一个十岁的孩子,这太深奥。她说,这是一门教人如何让心像墨一样黑和让脸皮像脚跟一样厚的书。当时很茫然,脸皮竟也成了生产力?   
男人征服世界的愿望其实来自于一种对于面子问题的偶然质问:从什么时候开始“面子"已经不再需要“面具"? 
 “禁"!不让猪长大才是安全,不让欲望膨胀便会坦荡。 

第十禁:禁止卖贱 
但凡卖的,就没有高低之分,不管卖的是唱还是欲望。莫扎特把自己卖给了宫廷,但他却对着贵族弯下腰向他们证明了自己的气味是大豆酿制的,然后扬长而去。这也是卖,但卖得有勇气、有尊严。

用net20,采用smtp服务器发送邮件

  今日闲来无聊,偶然看到一小段代码,拿来实现了一下,后来发现与实际的内容发生了一点点出入,于是浅浅的写下一小点很简单的问题,希望对大家有帮助,
  采用2.0的.net发送邮件可以利用现成的MailMessage这个类来构造需要发送的邮件信息,这个类,感觉就是封装了简单的邮件信息,当然,格式完全是按照邮件的协议来安排的。老版本的是调用SmtpMail发送的,其用来和服务器验证的密码账号都是以field添加到里面去的,2.0采用了比较安全的方式,SmtpClient来发送,默认的验证采用的是信用认证模式,具体的大家看代码就可以了解,当然还可以采用异步方式发送,可以封装一个事件,当邮件成功发送或者成功接收,就调用自己方法。下面贴代码,没技术含量,完全就是用来说明一下。如果有什么问题就参考msdn,很好搞定。
  
  老版本1。0的做法:
  public void sendmail10()
   {
   Try
  {
   MailMessage mailMessage = new MailMessage();
   mailMessage.To = “xxxxxx@163.com”;//收件人名
   mailMessage.From = “xxxxxx@163.com”;//发件人
   mailMessage.Subject = “标题”;
   mailMessage.Body = “xxxxxx”;//邮件内容
   mailMessage.BodyFormat = MailFormat.Html;
   mailMessage.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”, “1” ); //认证类型
   mailMessage.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendusername”, “xxxxxx@163.com” );//要认证的用户名
   mailMessage.Fields.Add(“http://schemas.microsoft.com/cdo/configuration/sendpassword”, “xxxxxx” ); //要认证的密码
   string smtpServer = “smtp.163.com”;//163邮箱
   SmtpMail.SmtpServer= smtpServer;
   SmtpMail.Send( mailMessage );
   }
   catch( Exception E )
   {
   Response.Write( E.Message );
   return;
   }
  
  }
  
  2.0版本的做法。
  ――――――――――――――
  public void sendmail20()
   {
   try
   {
   MailMessage mailMessage = new MailMessage();
   mailMessage.To = txtTo.Text;//收件人名
   mailMessage.From = txtFrom;//发件人
   mailMessage.Subject = txtTitle.Text;//标题
   mailMessage.Body = txtContext.Text;//邮件内容
   mailMessage.IsBodyHtml = true;
  
   string smtpServer = “smtp.163.com”;//163邮箱
   SmtpClient smtpMail = new SmtpClient(smtpServer);
   smtpMail.UseDefaultCredentials = false;
   smtpMail.Credentials = new System.Net.NetworkCredential(“账号”, “密码”);
   smtpMail.Send(mailMessage);
   }
   catch (Exception E)
   {
   Response.Write(E.Message);
   return;
   }
   }
----------------
网络上有人整合了下,写成一个包了,小封装了下,感觉写的不错,避免了大家的重复劳动,这里直接帖出来,反正也是自己看,哈哈。这里需要注意下的是,邮件账号必须是有smtp服务权限,有些免费邮箱的账号貌似权限不够,就是说连接smtp服务器会出问题,作者的代码把连接的账号信息添加到config配置文件里面了,数据都是从里面读的。
具体配置节是在

config文件中



userName=”your-user-name”
password=”your-password” />


其实这里最好还是做成表,放excel表里面,这样就可以支持好多了。当然,密码如果用明文是不安全的,最好采用加密方式储存,要是简单点,自己写个加密小算法也可以,呵呵。就说这么多,没技术含量,外加剽窃,嘿嘿!!!

作者是yyw‘s.
——————————-
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Threading;
using System.Net.Sockets;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Net.Configuration;
using System.Configuration;

namespace Mailer.Components
{
邮件发送类#region 邮件发送类

public class SMTP
{
Fields#region Fields

private string _mailFrom;
private string _displayName;
private SmtpClient smtpMail;

#endregion

Properties#region Properties

public string MailFrom
{
get { return _mailFrom; }
set { _mailFrom = value; }
}

public string DisplayName
{
get { return _displayName; }
set { _displayName = value; }
}

#endregion

Constructors#region Constructors

public SMTP()
{
System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(“~/”);
MailSettingsSectionGroup mailSettings = (MailSettingsSectionGroup)config.GetSectionGroup(“system.net/mailSettings”);

string mailFrom = mailSettings.Smtp.From;
string smtpServer = mailSettings.Smtp.Network.Host;
int smtpPort = mailSettings.Smtp.Network.Port;
string smtpUsername = mailSettings.Smtp.Network.UserName;
string password = mailSettings.Smtp.Network.Password;

smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(smtpUsername, password);
this._mailFrom = mailFrom;
this._displayName = smtpUsername;
}

public SMTP(string smtpServer, string userName, string password)
: this(null, smtpServer, userName, password)
{
}

/**////

/// 邮件发送类
///

/// 发件人地址
/// SMTP 服务器
/// 用户名
/// 密码
public SMTP(string mailFrom, string smtpServer, string userName, string password)
: this(mailFrom, mailFrom, smtpServer, userName, password)
{

}

/**////

/// 邮件发送类
///

/// 发件人地址
/// 显示的名称
/// SMTP 服务器
/// 用户名
/// 密码
public SMTP(string mailFrom, string displayName, string smtpServer, string userName, string password)
: this(mailFrom, displayName, smtpServer, 25, userName, password, false)
{
}

public SMTP(string mailFrom, string displayName, string smtpServer, int smtpPort, string userName, string password, bool smtpSsl)
{
this._mailFrom = mailFrom;
this._displayName = displayName;
smtpMail = new SmtpClient(smtpServer, smtpPort);
smtpMail.Credentials = new NetworkCredential(userName, password);
smtpMail.EnableSsl = smtpSsl;
}

#endregion

Methods#region Methods

Public#region Public

public Boolean Send(string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

public Boolean Send(string mailTo, string mailSu
bject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
return Send(mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

public Boolean Send(string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return Send(this._mailFrom, this._displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

/**////

/// 同步发送邮件
///

///
public Boolean Send(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
return SendMail(false, null, mailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, MailPriority priority, bool isBodyHtml)
{
string[] mailTos = new string[] { mailTo };
string[] attachments = null;
System.Text.Encoding bodyEncoding = System.Text.Encoding.Default;
SendAsync(userState, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

public void SendAsync(object userState, string mailTo, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
string[] mailTos = new string[] { mailTo };
SendAsync(userState, this._mailFrom, this._displayName, mailTos, null, null, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

public void SendAsync(object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, mailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

/**////

/// 异步发送邮件
///

/// 异步任务的唯一标识符
///
public void SendAsync(object userState, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
SendMail(true, userState, null, null, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);
}

/**////

/// 发送邮件
///

/// 是否异步发送邮件
/// 异步任务的唯一标识符,当 isAsync 为 True 时必须设置该属性, 当 isAsync 为 False 时可设置为 null
///
private Boolean SendMail(bool isAsync, object userState, string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
bool mailSent = false;

设置属性值#region 设置属性值

if (string.IsNullOrEmpty(mailFrom))
mailFrom = this._mailFrom;

if (string.IsNullOrEmpty(displayName))
displayName = this._displayName;

MailMessage Email = GetMailMessage(mailFrom, displayName, mailTos, mailCcs, mailBccs, mailSubject, mailBody, attachments, priority, isBodyHtml, bodyEncoding);

smtpMail.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);

#endregion

try
{
if (!isAsync)
{
smtpMail.Send(Email);
mailSent = true;
}
else
{
userState = (userState == null) ? Guid.NewGuid() : userState;
smtpMail.SendAsync(Email, userState);
}
}
catch (SmtpFailedRecipientsException ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
mailSent = false;
}
catch (Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
mailSent = false;
}

return mailSent;
}

#endregion

Private#region Private

private MailMessage GetMailMessage(string mailFrom, string displayName, string[] mailTos, string[] mailCcs, string[] mailBccs, string mailSubject, string mailBody, string[] attachments, MailPriority priority, bool isBodyHtml, System.Text.Encoding bodyEncoding)
{
// build the email message
MailMessage emailMessage = new MailMessage();

if (string.IsNullOrEmpty(mailFrom))
mailFrom = this._mailFrom;

if (string.IsNullOrEmpty(displayName))
displayName = this._displayName;

MailAddress mailFromObject = new MailAddress(mailFrom, displayName);

emailMessage.From = mailFromObject;

if (mailTos != null)
{
foreach (string mailto in mailTos)
{
if (!string.IsNullOrEmpty(mailto))
{
emailMessage.To.Add(mailto);
}
}
}

if (mailCcs != null)
{
foreach (string cc in mailCcs)
{
if (!string.IsNullOrEmpty(cc))
{
emailMessage.CC.Add(cc);
}
}
}

if (mailBccs != null)
{
foreach (string bcc in mailBccs)
{
if (!string.IsNullOrEmpty(bcc))
{
emailMessage.Bcc.Add(bcc);
}
}
}

if (attachments != null)
{
foreach (string file in attachments)
{
if (!string.IsNullOrEmpty(file))
{
Attachment att = new Attachment(file);
emailMessage.Attachments.Add(att);
}
}
}

emailMessage.Subject = mailSubject;
emailMessage.Body = mailBody;
emailMessage.Priority = priority;
emailMessage.IsBodyHtml = isBodyHtml;
emailMessage.BodyEncoding = bodyEncoding;

return emailMessage;
}

private void SendCompletedCallback(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
bool mailSent = false;

// Get the unique identifier for this asynchronous operation.
String token = e.UserState.ToString();

if (e.Cancelled)
{
//Console.WriteLine(“[{0}] Send canceled.”, token);
mailSent = false;
}
if (e.Error != null)
{
//Console.WriteLine(“[{0}] {1}”, token, e.Error.ToString());
mailSent = false;
}
else
{
//Console.WriteLine(“Message sent.”);
mailSent = false;
}

mailSent = true;
}

#endregion

#endregion
}

#endregion
}

分类:C# .NET WPF MOSS OCS | 评论:0 | 浏览:1213 | 举报 | 收藏 |

网友评论:我要评论
暂无评论!

发布评论:









淡入淡出效果(我轻轻地来,正如我轻轻地走)!

记得原来在vc里面写个淡入淡出要一堆代码,今天偶然搜索在C#里面写,发现容易了不少,大致有这么几种实现方式,一种是利用线程,一种是利用timer,无外乎都是改变窗体地Opacity属性而已,很简单,现在把网上剽窃来的代码帖在下面,供自己以后查询使用,哈哈!!!  

第一式:构造函数线程刷新式

for(double   d=0.01;   d<   1;  ="" d+="0.02)  ">
  {  
  System.Threading.Thread.Sleep(1);  
  Application.DoEvents();  
  this.Opacity=d;  
  this.“refresh”();  
  }

 第二式:timer计时动态调整式

  private   void   timer1_Tick(object   sender,   System.EventArgs   e)  
  {  
  this.Opacity   =   WinShow   ;  
  WinShow   +=   0.1   ;  
  if(WinShow   >=1   )  
  {  
  timer1.Dispose   ();  
  }  
  }

后面的属于杂变组合招式,心法不变,样子小变。关键是有些小技巧。   
  frmForm   myForm=new   frmForm()  
  frmForm.Opacity=0;  
  frmForm.show();  
  for(int   i=0;i<100;i++)  >
  {  
  Application.DoEvents()  
  frmForm.Opacity=i/100;  
  }

  #region     ********   窗体淡入效果函数       ********  
  private   double   WinShow   =   0;//用于窗口淡入效果的变量  
   
  private   void   FormShow(System.Windows.Forms.Form   Curfrm)  
  {  
  Curfrm.Opacity   =   WinShow   ;  
  WinShow   +=   0.01;  
  if(WinShow   ==   1)  
  {  
  Curfrm.timerShow.Stop   ();  
  }  
  }  
   
  #endregion  
   
  #region     ********   窗体淡入效果函数调用示例       ********  
  //实现窗口的淡入效果  
  private   void   timerShow_Tick(object   sender,   System.EventArgs   e)  
  {  
  //timerShow,这是一个timer控件名称;把timerShow.interval=100就可以了。  
  FormShow(this);  
  }  
  #endregion

落叶

  早上很出奇的阳光明媚,下楼出门,不觉还是一股寒意袭来,刮得脸隐隐作痛。车站似乎没有平时那么拥挤。人员来往依旧络绎不绝,车站永远经历的循环,人来,人去,上车,下车,如一股股流动的水。

     走在去公司的路上,早已挂在半空的太阳然自己都怀疑是不是现在才7点,反复看了手机的时间显示才得以证实,看来北方的太阳的确出来得比较早。两边行道的树开始落叶了,还没来得及变黄的树叶,带着点点的绿从树上飘落,洋洋洒洒的,风不大,却可以听见淅淅作响。路上几乎要被铺起来的吧,脚踏在上面感觉有些滑软,可以算作是初冬所能感受到的唯一的惬意吧。

     阳光透过落叶打到身上,脸上,不禁的让人想抬头好好看看这冬季难得如此明朗的天,然后叹口热气,可以看见水蒸汽迅速凝结而成的白雾。车流熙熙攘攘的从身边掠过,人行道上也只三两人身影。

     也许冬天还没有真正到来吧,希望晚上的时候,天能黑得晚些,这样就不会在回去的路上迷失。

关于编译器对后++的处理

声明:这里并不是在讨论传统老师教授的++a,和a++的先后问题。

C#版本

——————

using System;

using System.Collections.Generic;  
using System.Text;


namespace ConsoleTest  

{

    class Program

    {

        static void Main(string[] args)  

        {

            Int a=10;  

a = a++;

Console.WriteLine(a.ToString());

}

}

}

C++版本

———————————————

#include “stdafx.h”

#include

using namespace std;

int _tmain(int argc, _TCHAR* argv[])  
{

      int a=10;

a=a++;

cout<><><><><><><><>

}

        有一天下班,同事兴致冲冲的跑过来,二话不说,在我的的键盘上风风火火敲下了3行代码,并且在编译执行以前神秘的问了我一句,输出是多少?
    诈一看代码,不觉的有些吃惊,很简单的一行,可能大多数人都不会这样写,但是就有人如此写下了,随之就是脑袋的高速运转。假设数据输入的是10,那么输出是多少呢?按常理来说,肯定是有悖常理的,同事才会如此着迷,于是回答输出还是10

    编译运行,果然是10,难道编译器错了?于是换用vc编译器编译执行,输出是11。看来javac#都错了。只有C++对了,百思才有头绪,于是开始探究编译的过程,把原来的编译原理的知识都用上了,反汇编代码,饶有兴趣的开始逐一比较分析,共享些许小心得。

a=a++;c++版本)

004113D5  mov   &
nbsp;    
eax,dword ptr [a]
  
004113D8  mov         dword ptr [a],eax

004113DB  mov         ecx,dword ptr [a]

004113DE  add         ecx,1
004113E1  mov         dword ptr [a],ecx
  

a = a++;C#版本)

00000040  mov         edi,dword ptr [ebp-44h]   

00000043  lea         eax,[edi+1]

00000046  mov         dword ptr [ebp-44h],eax   

00000049  mov         dword ptr [ebp-44h],edi

    不难看出,在C++的编译器里面,编译出来的汇编代码的确是按照用户的意图执行的,首先是解析表达式,然后对表达式进行运算,这里首先做的是把a的值给eax,然后把eax里面的内容复制到a的地址里面,这里进行的操作自然就是aa;复制的时候当然是用过ax寄存器。运算完毕以后,再对a自身做加1的操作,这里是通过cx寄存器来操作的,完全符合表达式的意图。

但是我们再一看C#的反汇编代码,问题就来了,这里首先把a的地址给了di寄存器,因为对于c#里面的值类型,数值是分配在stack上面的,所以这里减了一个偏移的地址【44h】,之后将di里面的东西加了1,然后把地址给了ax存了起来,之后再把ax里面的内容给了变量a放值的地方,其实做的是赋值,在这个时候,编译器里面a的那个地址的值的确是11,但后最后还来了1句,把di里面的东西还原给了a。十分诧异,为什么这个式子在c#的编译器里面出来的是这种结果呢。显然编译器没有按照我们的意图对式子进行解析。稍微分析一下,发现,在C#里面,做自加的时候,编译器首先是把当前需要自加的变量存到了di寄存器里面,先在ax寄存器里面做自加,之后在表达式运算结束以后,再将原来寄存器di里的值拿过来赋值,刚好遇上了是赋值给本身,所以前面的值就被冲了。于是解析出来这个值就变成了10。哈哈,这里应该是编译器处理的问题,对于X++操作,首先找个寄存器存放他的值,然后在本地址的值做自加计算,最后还原给值,这种找个地方存起来处理表达式的办法果然不好,c++的编译器做的就很明智,等你运算表达式结束,我再来对你操作。

         呵呵,粗略的分析了一下汇编的代码得到的信息就那么多了,其实整个式子的解析过程没有那么简单,里面首先要进行表达式解析,里面设计到运算符优先级判断,以及堆栈的进出问题,具体的还是要看编译器是怎么来处理的,呵呵,看不到编译器的代码,没辙。  

         另外,在java的编译器里面输出的结果也和c#的是一样哦!!!

<><><>

分类:C# .NET WPF MOSS OCS | 评论:0 | 浏览:580 | 举报 | 收藏 |

上一篇:落叶
网友评论:我要评论
暂无评论!

发布评论: