Page 25
?Ò»¶¨ÇëÔÚÏòÓû§Êä³ö½á¹ûʱ£¬Ê¹ÓûùÓÚStringComparison.CurrentCultureµÄ×Ö·û´®²Ù×÷¡£
?Ò»¶¨ÇëÔڱȽÏÓïÑÔÎÞ¹Ø×Ö·û´®£¨·ûºÅ£¬µÈ£©Ê±£¬Ê¹Ó÷ÇÓïÑÔѧµÄStringComparison.Ordinal»òÕß
StringComparison.OrdinalIgnoreCaseÖµ£¬¶ø²»ÊÇ»ùÓÚCultureInfo.InvariantCultureµÄ×Ö·û´®²Ù×÷¡£Ò»°ã¶øÑÔ£¬²»ÒªÊ¹ÓûùÓÚStringComparison.InvariantCultureµÄ×Ö·û´®²Ù×÷¡£Ò»¸öÀýÍâÊǵ±Äã¼á³ÖÆäÓïÑÔÉÏÓÐÒâÒ壬¶øÓë¾ßÌåÎÄ»¯Î޹صÄÇé¿ö¡£
?Ò»¶¨ÇëʹÓÃString.EqualsµÄÖØÔØ°æ±¾À´²âÊÔ2¸ö×Ö·û´®ÊÇ·ñÏàµÈ¡£±ÈÈ磬ºöÂÔ´óСдºó£¬ÅжÏ2¸ö×Ö·û´®ÊÇ·ñÏàµÈ£¬
if£¨str1.Equals£¨str2, StringComparison.OrdinalIgnoreCase£©£©
If£¨str1.Equals£¨str2, StringComparison.OrdinalIgnoreCase£©£©Then
?Ò»¶¨²»ÒªÊ¹ÓÃString.Compare»òCompareToµÄÖØÔØ°æ±¾À´¼ìÑé·µ»ØÖµÊÇ·ñΪ0£¬À´ÅжÏ×Ö·û´®ÊÇ·ñÏàµÈ¡£Õâ2¸öº¯ÊýÊÇÓÃÓÚ×Ö·û´®ÅÅÐò£¬¶ø·Ç¼ì²éÏàµÈÐÔ¡£
?Ò»¶¨ÇëÔÚ×Ö·û´®±È½Ïʱ£¬ÒÔString.ToUpperInvariantº¯Êýʹ×Ö·û´®¹æ·¶»¯£¬¶ø²»ÓÃString.ToLowerInvariant¡£
3.7 Êý×éºÍ¼¯ºÏ
?ÄúÓ¦¸ÃÔڵͲã´Îº¯ÊýÖÐʹÓÃÊý×飬À´¼õÉÙÄÚ´æÏûºÄ£¬ÔöÇ¿ÐÔÄܱíÏÖ¡£¶ÔÓÚ¹«¿ª½Ó¿Ú£¬ÔòÆ«ÏòÑ¡Ôñ¼¯ºÏ¡£
¼¯ºÏÌṩÁ˶ÔÓÚÆäÄÚÈݸü¶àµÄ¿ØÖÆÈ¨£¬¿ÉÒÔËæ×Åʱ¼ä¸ÄÉÆ£¬Ìá¸ß¿ÉÓÃÐÔ¡£ÁíÍ⣬²»ÍƼöÔÚÖ»¶Á³¡¾°ÏÂʹÓÃÊý×飬ÒòΪÊý×é¿Ë¡µÄ´ú¼ÛÌ«¸ß¡£
È»¶ø£¬Èç¹ûÄú°ÑÊìÁ·¿ª·¢Õß×÷ΪĿ±ê£¬¶ÔÓÚÖ»¶Á³¡¾°Ê¹ÓÃÊý×éÒ²ÊǸö²»´íµÄÖ÷Òâ¡£Êý×éµÄÄÚ´æÕ¼ÓñȽϵͣ¬Õâ¼õÉÙÁ˹¤×÷Çø£¬²¢ÒòΪÔËÐÐʱµÄÓÅ»¯Äܸü¿ìµÄ·ÃÎÊÊý×éÔªËØ¡£
? 2016 Microsoft Corporation. All rights reserved.
Page 26
?Ò»¶¨²»ÒªÊ¹ÓÃÖ»¶ÁµÄÊý×é×ֶΡ£×ֶα¾ÉíÖ»¶Á£¬²»Äܱ»Ð޸쬵«ÊÇÆäÄÚ²¿ÔªËØ¿ÉÒÔ±»Ð޸ġ£ÒÔÏÂʾÀýչʾÁËʹÓÃÖ»¶ÁÊý×é×ֶεÄÏÝÚ壺
Bad:
publicstaticreadonlychar[] InvalidPathChars = { '\\\, '<', '>', '|'};
ÕâÔÊÐíµ÷ÓÃÕßÐÞ¸ÄÊý×éÄÚµÄÖµ£º
InvalidPathChars[0] = 'A';
Äú¿ÉÒÔʹÓÃÒ»¸öÖ»¶Á¼¯ºÏ£¨Ö»ÒªÆäÔªËØÒ²ÊDz»¿É±äµÄ£©£¬»òÕßÔÚ·µ»ØÖ®Ç°½øÐÐÊý×é¿Ë¡¡£È»¶ø£¬Êý×é¿Ë¡µÄ´ú¼Û¿ÉÄܹý¸ß£º
publicstatic ReadOnlyCollection
return Array.AsReadOnly£¨badChars£©; }
publicstaticchar[] GetInvalidPathChars£¨£© {
return£¨char[]£©badChars.Clone£¨£©; }
?ÄúÓ¦¸ÃʹÓò»¹æÔòÊý×éÀ´´úÌæÊ¹ÓöàάÊý×é¡£Ò»¸ö²»¹æÔòÊý×éÊÇÖ¸ÆäÔªËØ±¾ÉíÒ²ÊÇÒ»¸öÊý×é¡£¹¹³ÉÔªËØµÄÊý×é¿ÉÄÜÓв»Í¬´óС£¬ÕâÑùÏà½ÏÓÚ¶àάÊý×éÄܼõÉÙһЩÊý¾Ý¼¯µÄ¿Õ¼äÀË·Ñ£¨ÀýÈ磬ϡÊè¾ØÕ󣩡£ÁíÍ⣬CLRÄܹ»¶Ô²»¹æÔòÊý×éµÄË÷Òý²Ù×÷½øÐÐÓÅ»¯£¬ËùÒÔÔÚijЩÇé¾°Ï£¬¾ßÓиüºÃµÄÐÔÄܱíÏÖ¡£
// ²»¹æÔòÊý×é
int[][] jaggedArray = {
newint[] {1,2,3,4}, newint[] {5,6,7}, newint[] {8}, newint[] {9} };
Dim jaggedArray AsInteger£¨£©£¨£© = NewInteger£¨£©£¨£© _ { _
NewInteger£¨£© {1, 2, 3, 4}, _
? 2016 Microsoft Corporation. All rights reserved.
Page 27
NewInteger£¨£© {5, 6, 7}, _ NewInteger£¨£© {8}, _ NewInteger£¨£© {9} _ }
// ¶àάÊý×é
int [,] multiDimArray = {
{1,2,3,4}, {5,6,7,0}, {8,0,0,0}, {9,0,0,0} };
Dim multiDimArray£¨,£©AsInteger = _ { _
{1, 2, 3, 4}, _ {5, 6, 7, 0}, _ {8, 0, 0, 0}, _ {9, 0, 0, 0} _ }
?Ò»¶¨Ç뽫´ú±íÁ˶Á/д¼¯ºÏµÄÊôÐÔ»ò·µ»ØÖµÉùÃ÷Ϊ Collection
?ÄúÓ¦¸ÃÖØÐ¿¼ÂǶÔÓÚArrayListµÄʹÓã¬ÒòΪËùÓÐÌí¼ÓÖÁÆäÖеĶÔÏó¶¼±»µ±×öSystem.Object£¬µ±´ÓArrayListÈ¡»ØÖµÊ±£¬ÕâЩ¶ÔÏó¶¼»á²ðÏ䣬²¢·µ»ØÆäÕæÊµµÄÖµÀàÐÍ¡£ËùÒÔÎÒÃÇÍÆ¼öÄúʹÓö¨ÖÆÀàÐ͵ļ¯ºÏ£¬¶ø²»ÊÇArrayList¡£±ÈÈ磬.NET ÔÚSystem.Collection.SpecializedÃüÃû¿Õ¼äÄÚΪStringÌṩÁËÇ¿ÀàÐͼ¯ºÏStringCollection¡£
?ÄúÓ¦¸ÃÖØÐ¿¼ÂǶÔÓÚHashtableµÄʹÓá£Ïà·´£¬ÄúÓ¦¸Ã³¢ÊÔÆäËû×ÖµäÀ࣬ÀýÈçStringDictionary£¬NameValueCollection£¬HybridCollection¡£³ý·ÇHashtableÖ»´æ´¢ÉÙÁ¿Öµ£¬×îºÃ²»ÒªÊ¹ÓÃHashtable¡£
?ÄúÓ¦¸ÃÔÚʵÏÖ¼¯ºÏÀàÐÍʱ£¬ÎªÆäʵÏÖIEnumerable½Ó¿Ú£¬ÕâÑù¸Ã¼¯ºÏ±ãÄÜÓÃÓÚLINQ to Objects¡£
? 2016 Microsoft Corporation. All rights reserved.
Page 28
?Ò»¶¨²»ÒªÔÚͬһ¸öÀàÐÍÉÏͬʱʵÏÖIEnumerator
?Ò»¶¨²»Òª·µ»ØÊý×é»ò¼¯ºÏµÄnullÒýÓ᣿ÕÖµÊý×é»ò¼¯ºÏµÄº¬ÒåÔÚ´úÂë»·¾³ÖкÜÄѱ»Àí½â¡£±ÈÈ磬һ¸öÓû§¿ÉÄܼٶ¨ÈçÏ´úÂëÄܹ»Õý³£ÔËÐУ¬ËùÒÔÓ¦¸Ã·µ»ØÒ»¸ö¿ÕÊý×é»ò¼¯ºÏ£¬¶ø²»ÊÇnullÒýÓá£
int[] arr = SomeOtherFunc£¨£©; foreach£¨int v in arr£© { ... }
3.8 ½á¹¹Ìå
?Ò»¶¨ÇëÈ·±£½«ËùÓÐʵÀýÊý¾ÝÉèÖÃΪ0Öµ£¬false»òÕßÊÇnull¡£µ±´´½¨½á¹¹ÌåÊý×éʱ£¬ÕâÑùÄÜ·ÀÖ¹ÒâÍâ´´½¨ÁËÎÞЧʵÀý¡£
?Ò»¶¨ÇëΪֵÀàÐÍʵÏÖIEquatable
3.8.1 ½á¹¹ÌåvsÀà
?Ò»¶¨²»Òª¶¨Òå½á¹¹Ì壬³ý·ÇÆä¾ßÓÐÈçÏÂÌØÐÔ£º
? ËüÔÚÂß¼ÉÏ´ú±íÁËÒ»¸öµ¥Öµ£¬ÀàËÆÓÚÔʼÀàÐÍ£¨ÀýÈ磬int¡¢ double£¬µÈµÈ£©¡£ ? ÆäʾÀý´óССÓÚ16×Ö½Ú¡£ ? ËüÊDz»¿É±äµÄ¡£
? Ëü²»»áÒý·¢Æµ·±µÄ×°Ïä²ðÏä²Ù×÷¡£
? 2016 Microsoft Corporation. All rights reserved.