c # 4.0
c# 4.0ÐÂÌØÐÔÒ»ÀÀ
ÖÕÓÚ¾²ÏÂÐÄÀ´×ÐϸÌýÁËÒ»±éAnders Hejlsberg£¨Visual Studio×éµÄTECHNICAL FELLOW£¬C#µÄÉè¼ÆÕßÖ®Ò»£©ÔÚPDC08ÉϽ²µÄ“The Future of C#”£¨http://channel9.msdn.com/pdc2008/TL16/£©¡£
»Ø¹ËC#·¢Õ¹µÄÀúÊ·£¬C#1.0ÍêÈ«ÊÇÄ£·ÂJava£¬²¢±£ÁôÁËC/C++µÄÒ»Ð©ÌØÐÔÈçstruct£¬ÐÂѧÕߺÜÈÝÒ×ÉÏÊÖ£»C#2.0¼ÓÈëÁË·ºÐÍ£¬Ò²ÓëJava1.5µÄ·ºÐÍÈç³öÒ»ÕÞ£»C#3.0¼ÓÈëÁËÒ»¶ÑÓï·¨ÌÇ£¬²¢ÔÚûÓÐÐÞ¸ÄCLRµÄÇé¿öÏÂÒýÈëÁËLinq£¬¼òÖ±ÊÇÉñÀ´Ö®±Ê£¬ËäÈ»ºÜ¶àÏîÄ¿³öÓÚ¸÷ÖÖ¸÷ÑùÈçÐÔÄÜÖ®ÀàµÄÔÒòûÓвÉÓ㬵«·Ç³£ÊʺÏСÐͳÌÐòµÄ¿ìËÙ¿ª·¢£¬¼õÇáÁ˳ÌÐòÔ±µÄ¹¤×÷Á¿£¬Ò²Ìá¸ßÁË´úÂëµÄ¿É¶ÁÐÔ£»C#4.0Ôö¼ÓÁ˶¯Ì¬ÓïÑÔµÄÌØÐÔ£¬´ÓÀïÃæ¿ÉÒÔ¿´µ½ºÜ¶àjavascript¡¢pythonÕâЩ¶¯Ì¬ÓïÑÔµÄÓ°×Ó¡£ËäȻԽÀ´Ô½Æ«À뾲̬ÓïÑԵĵÀ·£¬µ«´ÓÁíÒ»¸ö½Ç¶ÈÀ´Ëµ£¬ÕâÐ©ÌØÐÔÒ²¶¼ÊÇΪÁËÌá¸ß³ÌÐòÔ±µÄÉú²úÁ¦¡£ÖÁÓÚ±»½ÓÊÜÓë·ñ£¬»¹ÊÇÈÃʱ¼äÀ´Ëµ»°°É¡£
PS£ºÕâÀïÃæ»¹ÓÐÒ»µã°æ±¾ºÅµÄС²åÇú——VS2008Ëù¶ÔÓ¦µÄ.Net FrameworkÊÇ3.5£¬C#ÊÇ3.0£¬CLRÊÇ2.0£¬¼°Æä»ìÂÒ£¬MSÖÕÓÚϾöÐÄÔÚVS2010ÖаÑÕâÈý¸ö°æ±¾ºÅ¶¼Í³Ò»³ÉÁË4.0£¬ÓÚÊÇCLR3²»ÖªËùÖÕ……
Dynamically Typed Object
C#4.0¼ÓÈëÁËdynamic¹Ø¼ü×Ö£¬¿ÉÒÔÉêÃ÷Ò»¸ö±äÁ¿µÄstaticÀàÐÍΪdynamic£¨ÓеãÈÆ¿Ú£©¡£
ÔÚ3.0¼°Ö®Ç°£¬Èç¹ûÄã²»ÖªµÀÒ»¸ö±äÁ¿µÄÀàÐÍ£¬¶øÒªÈ¥µ÷ÓÃËüµÄÒ»¸ö·½·¨£¬Ò»°ã»áÓõ½·´É䣺
object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcType.InvokeMember("Add",
BindingFlags.InvokeMethod, null,
new object[] { 10, 20 });
int sum = Convert.ToInt32(res);
ÓÐÁËdynamic£¬¾Í¿ÉÒÔ°ÑÉÏÃæ´úÂë¼ò»¯Îª£º
dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);
ʹÓÃdynamicµÄºÃ´¦ÔÚÓÚ£¬¿ÉÒÔ²»È¥¹ØÐĶÔÏóÊÇÀ´Ô´ÓÚCOM, IronPython, HTML DOM»òÕß·´É䣬ֻҪ֪µÀÓÐʲô·½·¨¿ÉÒÔµ÷ÓþͿÉÒÔÁË£¬Ê£ÏµĹ¤×÷¿ÉÒÔÁô¸øruntime¡£ÏÂÃæÊǵ÷ÓÃIronPythonÀàµÄÀý×Ó£º
ScriptRuntime py = Python.CreateRuntime();
dynamic helloworld = py.UseFile("helloworld.py");
Console.WriteLine("helloworld.py loaded!");
dynamicÒ²¿ÉÒÔÓÃÔÚ±äÁ¿µÄ´«µÝÖУ¬runtime»á×Ô¶¯Ñ¡ÔñÒ»¸ö×îÆ¥ÅäµÄoverload·½·¨¡£
ÕâÀïÓÐÒ»¸ödemo£º°ÑÒ»¶Îjavascript´úÂ뿽µ½C#ÎļþÖУ¬½«var¸Ä³Édynamic£¬function¸Ä³Évoid£¬ÔÙ¸ÄһϹ¹Ô캯ÊýµÄµ÷Ó÷½Ê½£¨new type()¸ÄΪwin.New.type()£©£¬È¥µôjavascriptÖеÄwin.ǰ׺£¨Òò
Ïà¹ØÎĵµ£º
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. kbhitº¯Êý
kbhitº¯ÊýÊǼì²éµ±Ç°°´Ïµļü£¬ÆäÓ÷¨Îª£ºint kbhit(void);³ÌÐòÀý×ÓÈçÏ£º
#include <conio.h>
int main(void)
{
c ......
ǰÑÔ
Eclipse×÷Ϊһ¿î¼«ÆäÓÅÐãµÄJava IDE£¬ÒѾµÃµ½¹ã·ºµÄÈϿɡ£µ±È»Eclipse²¢²»ÏÞÓÚJava¿ª·¢£¬ÓÉÓÚÆäÓÅÐãµÄ»ù´¡¼Ü¹¹£¬EclipseÒѾ³ÉΪһ¸ö¿ÉÒÔÈÝÄÉÒ»ÇÐÓ뿪·¢ÓйصŤ¾ßµÄƽ̨¡£
µ±È»ÈÝÄÉÒ»Çв¢²»Òâζ×ÅÊʺÏÓÚÒ»ÇС£ÏñC/C++ÕâÑùÔç¾Í´æÔڵIJ¢¹ã·ºÓ¦ÓõÄÓïÑÔ£¬Ôç¾ÍÓÐÒ»´óÅú¿ÉÓõÄIDE£¬Ò²ÓкܶàÈËϲ»¶ÓÃvi/emacs×÷Ϊ×Ô¼ºµÄ¿ ......
#ifndef _PPC_BOOT_STRING_H_
#define _PPC_BOOT_STRING_H_
#include <stddef.h>
extern char *strcpy(char *dest, const char *src);
extern char *strncpy(char *dest, const char *src, size_t n);
extern char *strcat(char *dest, const char *src);
extern int strcmp(const char *s1, const cha ......
#include <iostream>
#include <io.h>
#include <sys\stat.h>
#include <afx.h>
#define _AFXDLL
using namespace std;
void main()
{
// ´ËÎļþÔÚ¹¤³Ì´ò¿ª×´Ì¬ÏÂΪ²»¿É·ÃÎÊ
char* f ......
2005-09-12 09:16
×÷ÕߣºËᦻª
³ö´¦£ºÌì¼«Íø
ÔðÈα༣º·½ÖÛ
¡¡¡¡º¯Êýmax¿´ÆðÀ´¼ò½àÃ÷ÁË£¬µ«ÊÇʵ¼ÊÉÏprintfµÄʵÏÖÈ´Ô¶±ÈÕ⸴ÔÓ¡£maxº¯ÊýÖ®ËùÒÔ¿´ÆðÀ´¼òµ¥£¬ÊÇÒòΪ£º
¡¡¡¡(1) maxº¯Êý¿É±ä²ÎÊý±íµÄ³¤¶ÈÊÇÒÑÖªµÄ£¬Í¨¹ýnum²ÎÊý´«È룻
¡¡¡¡(2) maxº¯Êý¿É±ä²ÎÊý±íÖвÎÊýµÄÀàÐÍÊÇÒÑÖªµÄ£¬¶¼ÎªintÐÍ¡£
¡¡¡¡¶øprintfº¯ÊýÔ ......