Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
C# ÉîÈëÀí½â¶ÑÕ»¡¢¶ÑÔÚÄÚ´æÖеÄʵÏÖ
 
À´Ô´£º²©¿Í ·¢²¼ÓÚ£º 2017-6-20
  2340  次浏览      28
 

¾¡¹ÜÔÚ.NET frameworkÏÂÎÒÃDz¢²»ÐèÒªµ£ÐÄÄÚ´æ¹ÜÀíºÍÀ¬»ø»ØÊÕ(GarbageCollection)£¬µ«ÊÇÎÒÃÇ»¹ÊÇÓ¦¸ÃÁ˽âËüÃÇ£¬ÒÔÓÅ»¯ÎÒÃǵÄÓ¦ÓóÌÐò¡£Í¬Ê±£¬»¹ÐèÒª¾ß±¸Ò»Ð©»ù´¡µÄÄÚ´æ¹ÜÀí¹¤×÷»úÖÆµÄ֪ʶ£¬ÕâÑùÄܹ»ÓÐÖúÓÚ½âÊÍÎÒÃÇÈÕ³£³ÌÐò±àдÖеıäÁ¿µÄÐÐΪ¡£ÔÚ±¾ÎÄÖÐÎÒ½«½²½âÕ»ºÍ¶ÑµÄ»ù±¾ÖªÊ¶£¬±äÁ¿ÀàÐÍÒÔ¼°ÎªÊ²Ã´Ò»Ð©±äÁ¿Äܹ»°´ÕÕËüÃÇ×Ô¼ºµÄ·½Ê½¹¤×÷¡£

ÔÚ.NET framework»·¾³Ï£¬µ±ÎÒÃǵĴúÂëÖ´ÐÐʱ£¬ÄÚ´æÖÐÓÐÁ½¸öµØ·½ÓÃÀ´´æ´¢ÕâЩ´úÂë¡£¼ÙÈçÄã²»ÔøÁ˽⣬ÄǾÍÈÃÎÒÀ´¸øÄã½éÉÜÕ»(Stack)ºÍ¶Ñ(Heap)¡£Õ»ºÍ¶Ñ¶¼ÓÃÀ´°ïÖúÎÒÃÇÔËÐдúÂëµÄ£¬ËüÃÇפÁôÔÚ»úÆ÷ÄÚ´æÖУ¬ÇÒ°üº¬ËùÓдúÂëÖ´ÐÐËùÐèÒªµÄÐÅÏ¢¡£

* Õ»vs¶Ñ£ºÓÐʲô²»Í¬£¿

Õ»¸ºÔð±£´æÎÒÃǵĴúÂëÖ´ÐУ¨»òµ÷Óã©Â·¾¶,¶ø¶ÑÔò¸ºÔð±£´æ¶ÔÏ󣨻òÕß˵Êý¾Ý£¬½ÓÏÂÀ´½«Ì¸µ½ºÜ¶à¹ØÓڶѵÄÎÊÌ⣩µÄ·¾¶¡£

¿ÉÒÔ½«Õ»ÏëÏó³ÉÒ»¶Ñ´Ó¶¥Ïò϶ѵþµÄºÐ×Ó¡£µ±Ã¿µ÷ÓÃÒ»´Î·½·¨Ê±£¬ÎÒÃǽ«Ó¦ÓóÌÐòÖÐËùÒª·¢ÉúµÄÊÂÇé¼Ç¼ÔÚÕ»¶¥µÄÒ»¸öºÐ×ÓÖÐ,¶øÎÒÃÇÿ´ÎÖ»Äܹ»Ê¹ÓÃÕ»¶¥µÄÄǸöºÐ×Ó¡£µ±ÎÒÃÇÕ»¶¥µÄºÐ×Ó±»Ê¹ÓÃÍêÖ®ºó£¬»òÕß˵·½·¨Ö´ÐÐÍê±ÏÖ®ºó£¬ÎÒÃǽ«Å׿ªÕâ¸öºÐ×ÓÈ»ºó¼ÌÐøÊ¹ÓÃÕ»¶¥ÉϵÄкÐ×Ó¡£¶ÑµÄ¹¤×÷Ô­Àí±È½ÏÏàËÆ£¬µ«´ó¶àÊýʱºò¶ÑÓÃ×÷±£´æÐÅÏ¢¶ø·Ç±£´æÖ´Ðз¾¶£¬Òò´Ë¶ÑÄܹ»ÔÚÈÎÒâʱ¼ä±»·ÃÎÊ¡£ÓëÕ»Ïà±È¶ÑûÓÐÈκηÃÎÊÏÞÖÆ£¬¶Ñ¾ÍÏñ´²ÉϵľÉÒ·þ£¬ÎÒÃDz¢Ã»Óл¨Ê±¼äÈ¥ÕûÀí£¬ÄÇÊÇÒòΪ¿ÉÒÔËæÊ±ÕÒµ½Ò»¼þÎÒÃÇÐèÒªµÄÒ·þ£¬¶øÕ»¾ÍÏñ´¢Îï¹ñÀï¶ÑµþµÄЬºÐ£¬ÎÒÃÇÖ»ÄÜ´Ó×î¶¥²ãµÄºÐ×Ó¿ªÊ¼È¡£¬Ö±µ½·¢ÏÖÄÇÖ»ºÏÊʵġ£

ÒÔÉÏͼƬ²¢²»ÊÇÄÚ´æÖÐÕæÊµµÄ±íÏÖÐÎʽ£¬µ«Äܹ»°ïÖúÎÒÃÇÇø·ÖÕ»ºÍ¶Ñ¡£

Õ»ÊÇ×ÔÐÐά»¤µÄ£¬Ò²¾ÍÊÇ˵ÄÚ´æ×Ô¶¯Î¬»¤Õ»£¬µ±Õ»¶¥µÄºÐ×Ó²»ÔÙ±»Ê¹Óã¬Ëü½«±»Å׳ö¡£Ïà·´µÄ£¬¶ÑÐèÒª¿¼ÂÇÀ¬»ø»ØÊÕ£¬À¬»ø»ØÊÕÓÃÓÚ±£³Ö¶ÑµÄÕû½àÐÔ£¬Ã»ÓÐÈËÔ¸Òâ¿´µ½ÖÜΧ¶¼ÊÇÔßÒ·þ£¬ÄǼòֱ̫³ôÁË£¡

* Õ»ºÍ¶ÑÀïÓÐЩʲô£¿

µ±ÎÒÃǵĴúÂëÖ´ÐеÄʱºò£¬Õ»ºÍ¶ÑÖÐÖ÷Òª·ÅÖÃÁËËÄÖÖÀàÐ͵ÄÊý¾Ý£ºÖµÀàÐÍ(Value Type)£¬ÒýÓÃÀàÐÍ(Reference Type)£¬Ö¸Õë(Pointer)£¬Ö¸Áî(Instruction)¡£

1.ÖµÀàÐÍ£º

ÔÚC#ÖУ¬ËùÓб»ÉùÃ÷ΪÒÔÏÂÀàÐ͵ÄÊÂÎï±»³ÆÎªÖµÀàÐÍ£º

bool
byte
char
decimal
double
enum
float
int
long
sbyte
short
struct
uint
ulong
ushort

2.ÒýÓÃÀàÐÍ£º

ËùÓеı»ÉùÃ÷ΪÒÔÏÂÀàÐ͵ÄÊÂÎï±»³ÆÎªÒýÓÃÀàÐÍ£º

class
interface
delegate
object
string

3.Ö¸Õ룺

ÔÚÄÚ´æ¹ÜÀí·½°¸ÖзÅÖõĵÚÈýÖÖÀàÐÍÊÇÀàÐÍÒýÓã¬ÒýÓÃͨ³£¾ÍÊÇÒ»¸öÖ¸Õë¡£ÎÒÃDz»»áÏÔʾµÄʹÓÃÖ¸Õ룬ËüÃÇÓɹ«¹²ÓïÑÔÔËÐÐʱ£¨CLR£©À´¹ÜÀí¡£Ö¸Õ루»òÒýÓã©ÊDz»Í¬ÓÚÒýÓÃÀàÐ͵ģ¬ÊÇÒòΪµ±ÎÒÃÇ˵ij¸öÊÂÎïÊÇÒ»¸öÒýÓÃÀàÐÍʱ¾ÍÒâζ×ÅÎÒÃÇÊÇͨ¹ýÖ¸ÕëÀ´·ÃÎÊËüµÄ¡£Ö¸ÕëÊÇÒ»¿éÄÚ´æ¿Õ¼ä£¬¶øËüÖ¸ÏòÁíÒ»¸öÄÚ´æ¿Õ¼ä¡£¾ÍÏñÕ»ºÍ¶ÑÒ»Ñù£¬Ö¸ÕëҲͬÑùÒªÕ¼ÓÃÄÚ´æ¿Õ¼ä£¬µ«ËüµÄÖµÊÇÒ»¸öÄÚ´æµØÖ·»òÕßΪ¿Õ¡£

4.Ö¸Á

ÔÚºóÃæµÄÎÄÕÂÖÐÄã»á¿´µ½Ö¸ÁîÊÇÈçºÎ¹¤×÷µÄ...

* ÈçºÎ¾ö¶¨·ÅÄĶù?

ÕâÀïÓÐÒ»Ìõ»Æ½ð¹æÔò:

1. ÒýÓÃÀàÐÍ×ÜÊÇ·ÅÔÚ¶ÑÖС£(¹»¼òµ¥µÄ°É?)

2. ÖµÀàÐͺÍÖ¸Õë×ÜÊÇ·ÅÔÚËüÃDZ»ÉùÃ÷µÄµØ·½¡£(ÕâÌõÉÔ΢¸´Ôӵ㣬ÐèÒªÖªµÀÕ»ÊÇÈçºÎ¹¤×÷µÄ£¬È»ºó²ÅÄܶ϶¨ÊÇÔÚÄĶù±»ÉùÃ÷µÄ¡£)

¾ÍÏñÎÒÃÇÏÈǰÌáµ½µÄ£¬Õ»ÊǸºÔð±£´æÎÒÃǵĴúÂëÖ´ÐÐ(»òµ÷ÓÃ)ʱµÄ·¾¶¡£µ±ÎÒÃǵĴúÂ뿪ʼµ÷ÓÃÒ»¸ö·½·¨Ê±,½«·ÅÖÃÒ»¶Î±àÂëÖ¸Áî(ÔÚ·½·¨ÖÐ)µ½Õ»ÉÏ,½ô½Ó×Å·ÅÖ÷½·¨µÄ²ÎÊý£¬È»ºó´úÂëÖ´Ðе½·½·¨Öеı»¡°Ñ¹Õ»¡±ÖÁÕ»¶¥µÄ±äÁ¿Î»Öá£Í¨¹ýÒÔÏÂÀý×ÓºÜÈÝÒ×Àí½â...

ÏÂÃæÊÇÒ»¸ö·½·¨£¨Method£©:

public int AddFive(int pValue)
{
int result;
result = pValue + 5;
return result;
}

ÏÖÔÚ¾ÍÀ´¿´¿´ÔÚÕ»¶¥·¢ÉúÁËЩʲô£¬¼ÇסÎÒÃÇËù¹Û²ìµÄÕ»¶¥ÏÂʵ¼ÊÒѾ­Ñ¹ÈëÁËÐí¶à±ðµÄÄÚÈÝ¡£

Ê×ÏÈ·½·¨£¨Ö»°üº¬ÐèÒªÖ´ÐеÄÂß¼­×Ö½Ú£¬¼´Ö´Ðи÷½·¨µÄÖ¸Á¶ø·Ç·½·¨ÌåÄÚµÄÊý¾Ý£©ÈëÕ»£¬½ô½Ó×ÅÊÇ·½·¨µÄ²ÎÊýÈëÕ»¡££¨ÎÒÃǽ«ÔÚºóÃæÌÖÂÛ¸ü¶àµÄ²ÎÊý´«µÝ£©

½Ó×Å£¬¿ØÖÆ£¨¼´Ö´Ðз½·¨µÄỊ̈߳©±»´«µÝµ½¶ÑÕ»ÖÐAddFive()µÄÖ¸ÁîÉÏ£¬

µ±·½·¨Ö´ÐÐʱ£¬ÎÒÃÇÐèÒªÔÚÕ»ÉÏΪ¡°result¡±±äÁ¿·ÖÅäһЩÄڴ棬

Themethod finishes execution and our result is returned.

·½·¨Ö´ÐÐÍê³É£¬È»ºó·½·¨µÄ½á¹û±»·µ»Ø¡£

ͨ¹ý½«Õ»Ö¸ÕëÖ¸ÏòAddFive()·½·¨ÔøÊ¹ÓõĿÉÓõÄÄÚ´æµØÖ·£¬ËùÓÐÔÚÕ»Éϵĸ÷½·¨ËùʹÓÃÄÚ´æ¶¼±»Çå¿Õ£¬ÇÒ³ÌÐò½«×Ô¶¯»Øµ½Õ»ÉÏ×î³õµÄ·½·¨µ÷ÓõÄλÖÃ(ÔÚ±¾ÀýÖв»»á¿´µ½)¡£

ÔÚÕâ¸öÀý×ÓÖУ¬ÎÒÃǵÄ"result"±äÁ¿ÊDZ»·ÅÖÃÔÚÕ»Éϵģ¬ÊÂʵÉÏ£¬µ±ÖµÀàÐÍÊý¾ÝÔÚ·½·¨ÌåÖб»ÉùÃ÷ʱ£¬ËüÃǶ¼ÊDZ»·ÅÖÃÔÚÕ»Éϵġ£

ÖµÀàÐÍÊý¾ÝÓÐʱҲ±»·ÅÖÃÔÚ¶ÑÉÏ¡£¼ÇסÕâÌõ¹æÔò--ÖµÀàÐÍ×ÜÊÇ·ÅÔÚËüÃDZ»ÉùÃ÷µÄµØ·½¡£ºÃµÄ£¬Èç¹ûÒ»¸öÖµÀàÐÍÊý¾ÝÔÚ·½·¨ÌåÍâ±»ÉùÃ÷£¬ÇÒ´æÔÚÓÚÒ»¸öÒýÓÃÀàÐÍÖУ¬ÄÇôËü½«±»¶ÑÖеÄÒýÓÃÀàÐÍËùÈ¡´ú¡£

À´¿´ÁíÒ»¸öÀý×Ó£º

¼ÙÈçÎÒÃÇÓÐÕâÑùÒ»¸öMyIntÀࣨËüÊÇÒýÓÃÀàÐÍÒòΪËüÊÇÒ»¸öÀàÀàÐÍ£©£º

public class MyInt
{
publicint MyValue;
}

È»ºóÖ´ÐÐÏÂÃæµÄ·½·¨:

public MyInt AddFive(int pValue)
{
MyInt result = new MyInt();
result.MyValue = pValue + 5;
return result;
}

¾ÍÏñÇ°ÃæÌáµ½µÄ£¬·½·¨¼°·½·¨µÄ²ÎÊý±»·ÅÖõ½Õ»ÉÏ£¬½ÓÏÂÀ´£¬¿ØÖƱ»´«µÝµ½¶ÑÕ»ÖÐAddFive()µÄÖ¸ÁîÉÏ¡£

½Ó×Å»á³öÏÖһЩÓÐȤµÄÏÖÏó...

ÒòΪ"MyInt"ÊÇÒ»¸öÒýÓÃÀàÐÍ,Ëü½«±»·ÅÖÃÔÚ¶ÑÉÏ,ͬʱÔÚÕ»ÉÏÉú³ÉÒ»¸öÖ¸ÏòÕâ¸ö¶ÑµÄÖ¸ÕëÒýÓá£

ÔÚAddFive()·½·¨±»Ö´ÐÐÖ®ºó£¬ÎÒÃǽ«Çå¿Õ...

ÎÒÃǽ«Ê£Ï¹¶ÀµÄMyInt¶ÔÏóÔÚ¶ÑÖУ¨Õ»Öн«²»»á´æÔÚÈκÎÖ¸ÏòMyInt¶ÔÏóµÄÖ¸Õë!£©

Õâ¾ÍÊÇÀ¬»ø»ØÊÕÆ÷£¨ºó¼ò³ÆGC£©Æð×÷Óõĵط½¡£µ±ÎÒÃǵijÌÐò´ïµ½ÁËÒ»¸öÌØ¶¨µÄÄÚ´æ·§Öµ£¬ÎÒÃÇÐèÒª¸ü¶àµÄ¶Ñ¿Õ¼äµÄʱºò£¬GC¿ªÊ¼Æð×÷Óá£GC½«Í£Ö¹ËùÓÐÕýÔÚÔËÐеÄỊ̈߳¬ÕÒ³öÔÚ¶ÑÖдæÔÚµÄËùÓв»ÔÙ±»Ö÷³ÌÐò·ÃÎʵĶÔÏ󣬲¢É¾³ýËüÃÇ¡£È»ºóGC»áÖØÐÂ×éÖ¯¶ÑÖÐËùÓÐʣϵĶÔÏóÀ´½ÚÊ¡¿Õ¼ä£¬²¢µ÷ÕûÕ»ºÍ¶ÑÖÐËùÓÐÓëÕâЩ¶ÔÏóÏà¹ØµÄÖ¸Õë¡£Äã¿Ï¶¨»áÏëµ½Õâ¸ö¹ý³Ì·Ç³£ºÄ·ÑÐÔÄÜ£¬ËùÒÔÕâʱÄã¾Í»áÖªµÀΪʲôÎÒÃÇÐèÒªÈç´ËÖØÊÓÕ»ºÍ¶ÑÀïÓÐЩʲô£¬ÌرðÊÇÔÚÐèÒª±àд¸ßÐÔÄܵĴúÂëʱ¡£

Ok...ÕâÌ«°ôÁË, µ±ËüÊÇÈçºÎÓ°ÏìÎҵģ¿

Goodquestion.

µ±ÎÒÃÇʹÓÃÒýÓÃÀàÐÍʱ£¬ÎÒÃÇʵ¼ÊÊÇÔÚ´¦Àí¸ÃÀàÐ͵ÄÖ¸Õ룬¶ø·Ç¸ÃÀàÐͱ¾Éí¡£µ±ÎÒÃÇʹÓÃÖµÀàÐÍʱ£¬ÎÒÃÇÊÇÔÚʹÓÃÖµÀàÐͱ¾Éí¡£ÌýÆðÀ´ºÜÃÔºý°É£¿

ͬÑù£¬Àý×ÓÊÇ×îºÃµÄÃèÊö¡£

¼ÙÈçÎÒÃÇÖ´ÐÐÒÔÏµķ½·¨£º

public int ReturnValue()
{
int x = new int();
x = 3;
int y = new int();
y = x;
y = 4;
return x;
}

ÎÒÃǽ«µÃµ½Öµ3£¬ºÜ¼òµ¥£¬¶Ô°É£¿

¼ÙÈçÎÒÃÇÊ×ÏÈʹÓÃMyIntÀà

public class MyInt
{
public int MyValue;
}

½Ó×ÅÖ´ÐÐÒÔÏµķ½·¨£º

public int ReturnValue2()
{
MyInt x = new MyInt();
x.MyValue = 3;
MyInt y = new MyInt();
y =x;
y.MyValue =4;
return x.MyValue;
}

ÎÒÃǽ«µÃµ½Ê²Ã´£¿... 4!

Ϊʲô£¿... x.MyValueÔõô»á±ä³É4ÁËÄØ£¿... ¿´¿´ÎÒÃÇËù×öµÄÈ»ºó¾ÍÖªµÀÊÇÔõô»ØÊÂÁË£º

ÔÚµÚÒ»Àý×ÓÖУ¬Ò»Çж¼Ïñ¼Æ»®µÄÄÇÑù½øÐÐ×Å£º

public int ReturnValue()
{
int x = 3;
int y = x;
y = 4;
return x;
}

ÔÚµÚ¶þ¸öÀý×ÓÖУ¬ÎÒÃÇûÓеõ½"3"ÊÇÒòΪ±äÁ¿"x"ºÍ"y"¶¼Í¬Ê±Ö¸ÏòÁ˶ÑÖÐÏàͬµÄ¶ÔÏó¡£

public intReturnValue2()
{
MyInt x;
x.MyValue = 3;
MyInt y;
y =x;
y.MyValue = 4;
return x.MyValue;
}

Ï£ÍûÒÔÉÏÄÚÈÝÄܹ»Ê¹Äã¶ÔC#ÖеÄÖµÀàÐͺÍÒýÓÃÀàÐ͵Ļù±¾Çø±ðÓÐÒ»¸ö¸üºÃµÄÈÏʶ£¬²¢ÇÒ¶ÔÖ¸Õë¼°Ö¸ÕëÊǺÎʱ±»Ê¹ÓõÄÓÐÒ»¶¨µÄ»ù±¾Á˽⡣ÔÚϵÁеÄÏÂÒ»¸ö²¿·Ö£¬ÎÒÃǽ«ÉîÈëÄÚ´æ¹ÜÀí²¢×¨ÃÅÌÖÂÛ·½·¨²ÎÊý¡£

   
2340 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
 
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
 
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì