锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
System::String^ saying = L"Many hands make light work.";
璺熻釜鍙ユ焺saying鐢ㄤ簬璁塊棶String綾誨璞°傝瀵硅薄鐨勫瓧絎︿負瀹藉瓧絎︼紝鍥犱負閲囩敤浜嗗墠緙 “L”錛屽鏋滅渷鐣?#8220;L”錛岃瀛楃涓茬敱8浣嶇殑瀛楃緇勬垚錛岀紪璇戝櫒灝嗙‘淇濆皢鍏惰漿鎹㈡垚瀹藉瓧絎︺?/p>
璁塊棶瀛楃涓插唴瀛楃鍙互鍍忚闂暟緇勫厓绱犱竴鏍鳳紝浣跨敤绱㈠紩鏉ヨ闂紝棣栧瓧絎︾殑绱㈠紩涓?銆傝繖縐嶆柟娉曞彧鑳界敤浜庤鍙栧瓧絎︿覆鍐呭瓧絎︼紝浣嗕笉鑳界敤浜庝慨鏀瑰瓧絎︿覆鐨勫唴瀹廣?/p>
Console::WriteLine("The third character in the string is {0}", saying[2]);
鍒╃敤Length灞炴э紝鍙互鑾峰彇瀛楃涓插唴瀛楃鐨勬暟閲忥紙闀垮害錛夈?/p>
Console::WriteLine("The saying has {0} charactors.", saying->Length);
鍒╃敤 “+”鍙互榪炴帴瀛楃涓詫紝褰㈡垚鏂扮殑瀛楃涓層傛墽琛屼笅闈㈢殑渚嬪瓙涔嬪悗錛宯ame3灝嗗寘鍚瓧絎︿覆 “Beth and Betty”銆?/p>
String^ name1 = L"Beth"; String^ name2 = L"Betty"; String^ name3 = name1+L" and "+name2;
“+”榪樺彲浠ョ敤鏉ヨ繛鎺ュ瓧絎︿覆涓庢暟鍊箋乥ool鍊肩瓑闈炲瓧絎︿覆鍙橀噺錛屽湪榪炴帴涔嬪墠錛岃繖浜涘彉閲忓皢鑷姩鐨勮漿鎹㈡垚瀛楃涓層?/p>
String^ str = L"Value: "; String^ str1 = str + 2.5; // str1 is "Value: 2.5" String^ str2 = str + 25; // str2 is "Value: 25" String^ str3 = str + true; // str3 is "Value: True"
“+”榪樺彲浠ョ敤鏉ヨ繛鎺ュ瓧絎︿覆涓庡瓧絎︼紝浣嗚娉ㄦ剰錛?strong>緇撴灉瀛楃涓茬殑褰㈠紡鍙栧喅浜庡瓧絎︾殑綾誨瀷銆?/strong>榪欐槸鍥犱負char綾誨瀷鐨勫瓧絎﹁瑙嗕負鏁板鹼紝wchar_t涓嶴tring瀵硅薄鐨勫瓧絎﹀叿鏈夌浉鍚岀殑綾誨瀷錛圕har綾誨瀷錛夈?/p>
char ch = 'Z'; wchar_t wch = 'Z'; String^ str4 = str + ch; // str4 is "Value: 90" String^ str5 = str + wch; // str5 is "Value: Z"
String綾誨瀷瀹氫箟浜咼oin()鍑芥暟錛岀敤浜庡皢鏁扮粍涓殑澶氫釜瀛楃涓茶繛鎺ユ垚涓涓瓧絎︿覆錛屾暟緇勫厓绱犱箣闂寸敤鍒嗛殧絎﹂殧寮錛屽
array<String^>^ names = {"Jill", "Ted", "Mary", "Eve", "Bill"}; String^ seperator = " and "; String^ joined = String::Join(seperator, names); // joined is "Jill and Ted and Mary and Eve and Bill"
鐗瑰埆娉ㄦ剰錛歋tring瀵硅薄鏄浐瀹氫笉鍙樼殑錛屼竴鏃﹀垱寤哄畬姣曞悗灝變笉鑳藉啀琚慨鏀逛簡銆傝繖鎰忓懗鐫鎵鏈夌殑瀛楃涓叉搷浣滈兘鏄湪鍒涘緩鏂扮殑瀛楃涓層?/strong>
渚嬪瓙錛氬鐞嗗瓧絎︿覆
灝嗘暣鏁版暟緇勫唴鐨勫厓绱犳寜鍒楁暣榻愬湴杈撳嚭銆?/p>
// Ex4_17.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<int>^ values = { 2, 456, 23, -46, 34211, 456, 5609, 112098, 234, -76504, 341, 6788, -909121, 99, 10 }; String^ formatStr1 = "{0, "; String^ formatStr2 = "}"; String^ number; int maxLength = 0; for each(int value in values) { number = ""+value; if(maxLength<number->Length) maxLength = number->Length; } String^ format = formatStr1+(maxLength+1)+formatStr2; int numberPerLine = 3; for(int i=0; i<values->Length; i++) { Console::Write(format, values[i]); if((i+1)%numberPerLine == 0) Console::WriteLine(); } }
杈撳嚭涓?/p>
2 456 23 -46 34211 456 5609 112098 234 -76504 341 6788 -909121 99 10
Trim()鍑芥暟鐢ㄤ簬鍒犻櫎瀛楃涓插ご閮ㄥ拰灝鵑儴鐨勭┖鏍箋備笉甯﹀弬鏁拌皟鐢ㄨ鍑芥暟灝嗗垹闄ゅ瓧絎︿覆澶淬佸熬閮ㄧ殑鍏ㄩ儴絀烘牸騫惰繑鍥炰竴鏂板瓧絎︿覆銆?/p>
String^ str = {" Handsome is as handsome does... "};
String^ newStr = str->Trim();
涔熷彲浼犻掔粰Trim()鍑芥暟瀛楃鏁扮粍浣滀負鍙傛暟錛屽瓧絎︿覆灝?strong>浠庡ご閮ㄥ拰灝鵑儴寮濮?/strong>鍒犻櫎鏁扮粍涓殑瀛楃銆傚鏋滃瓧絎﹀嚭鐜板湪瀛楃涓蹭腑闂達紝鍒欎笉浼氳鍒犻櫎銆?/p>
String^ toBeTrimed = L"wool wool sheep sheep wool wool wool";
array<wchar_t>^ notWanted = {L'w', L'o', L'l', L' ' };
Console::WriteLine(toBeTrimed->Trim(notWanted));
涓婇潰鐨勮鍙ュ皢杈撳嚭
sheep sheep
濡傛灉鍦ㄤ笂闈㈢殑璇彞涓病鏈夊姞鍓嶇紑”L“錛屽垯瀛楃涓篶har綾誨瀷錛屽搴斾簬System::SByte綾誨瀷銆備笉榪囩紪璇戝櫒灝嗚嚜鍔ㄥ湴灝嗗叾杞崲鎴恮char_t綾誨瀷錛堝嵆System::Char綾誨瀷錛夈?/p>
Trim()鍑芥暟涔熸敮鎸佺洿鎺ヨ緭鍏ヨ鍒犻櫎鐨勫瓧絎﹀垪琛紝涓嬮潰鐨勮鍙ュ皢浜х敓鍚屾牱鐨勮緭鍑?/p>
Console::WriteLine(toBeTrimed->Trim(L'w', L'o', L'l', L' '));
濡傛灉浠呬粎鎯寵鍒犻櫎澶撮儴鎴栬呭熬閮ㄤ腑鐨勪竴绔紝鍙互浣跨敤TrimStart鎴栬匱rimEnd鍑芥暟銆?/p>
濡傛灉瑕佸湪瀛楃涓茬殑涓绔~鍏呯┖鏍兼垨鍏跺畠瀛楃錛堣繖涓鑸敤浜庝互鍥哄畾瀹藉害闈犲乏鎴栭潬鍙沖榻愯緭鍑烘枃鏈級錛屽彲浣跨敤PadLeft()鍜孭adRight()鍑芥暟銆傚鏋滃瓧絎︿覆闀垮害澶т簬鎸囧畾鐨勯暱搴﹀弬鏁幫紝鍒欒繑鍥炲瓧絎︿覆涓洪暱搴︾瓑浜庡師鏉ュ瓧絎︿覆鐨勬柊瀛楃涓層?/p>
String^ value = L"3.142"; String^ leftPadded = value->PadLeft(10); // Result is " 3.142" String^ rightPadded = value->PadRight(10); // Result is "3.142 " String^ leftPadded2 = value->PadLeft(10, L'*'); // Result is "*****3.142" String^ rightPadded2= value->PadRight(10,L'#'); // Result is "3.142#####"
濡傛灉闇瑕佸皢瀛楃涓茶漿鎹㈡垚澶у啓鎴栧皬鍐欙紝鍙嬌鐢═oUpper()鎴朤oLower鍑芥暟銆?/p>
String^ proverb = L"Many hands make light work." String^ upper = proverb->ToUpper(); // Result is "MANY HANDS MAKE LIGHT WORK."
濡傛灉闇瑕佸湪瀛楃涓蹭腑闂存彃鍏ヤ竴涓瓧絎︿覆錛屽彲浣跨敤Insert()鍑芥暟錛岀涓涓弬鏁版寚瀹氳搗濮嬩綅緗殑绱㈠紩錛岀浜屼釜鍙傛暟鎸囧畾瑕佹彃鍏ョ殑瀛楃涓層?/p>
String^ proverb = L"Many hands light work."; String^ newProverb = proverb->Insert(5, "deck ");
緇撴灉鏄?/p>
Many deck hands make light work.
濡傛灉瑕佺敤鍙︿竴涓瓧絎︽浛鎹㈠瓧絎︿覆涓寚瀹氱殑瀛楃錛屾垨鑰呯敤鍙︿竴涓瓙涓叉浛鎹㈠瓧絎︿覆涓粰瀹氱殑瀛愪覆錛屽彲浣跨敤Replace()鍑芥暟銆?/p>
String^ proverb = L"Many hands make light work." Console::WriteLine(proverb->Replace(L' ', L'*'); Console::WriteLine(proverb->Replace(L"Many hands", L"Press switch");
杈撳嚭涓?/p>
Many*hands*make*light*work. Pressing switch make light work.
濡傛灉闇瑕佹祴璇曞瓧絎︿覆鏄惁浠ョ粰瀹氱殑瀛愪覆寮濮嬫垨緇撴潫錛屽彲浣跨敤StartWith()鎴朎ndWith()鍑芥暟銆傝瀵繪壘鐨勫瓙涓插彞鏌勪綔涓哄弬鏁頒紶閫掔粰鍑芥暟錛岃繑鍥瀊ool鍊箋?/p>
String^ snetence = L"Hide, the cow's outside."; if(sentence->StartWith(L"Hide")) Console::WriteLine("The sentence starts with 'Hide'.");
IndexOf()鍑芥暟鐢ㄤ簬榪斿洖緇欏畾瀛楃鎴栧瓙涓插湪瀛楃涓蹭腑鎵懼埌鐨勭涓涓疄渚嬬儲寮曪紝濡傛灉鏈壘鍒幫紝鍒欒繑鍥?1銆?/p>
String^ sentence = L"Hide, the cow's outside."; int ePosition = sentence->IndexOf(L'e'); // Return 3 int thePosition = sentence->IndexOf(L"the"); // Retuen 6
涔熷彲浠ユ寚瀹欼ndexOf鎼滅儲鐨勮搗濮嬬儲寮曪紝榪欎竴鑸敤浜庨亶鍘嗘暣涓瓧絎︿覆鎵懼嚭鎵鏈夌殑瀹炰緥錛屽涓嬮潰鐨勪緥瀛愶細
int index = 0; int count = 0; while((index=words->IndexOf(word, index))>=0) { index += word->Length; count++; } Console::WriteLine(L"'{0}' was found {1} times in: {2}", word, count, words);
LastIndexOf()鍑芥暟綾諱技浜嶪ndexOf()鍑芥暟錛屼笉榪囧畠鐢ㄤ簬浠庡瓧絎︿覆灝鵑儴鎴栨寚瀹氱儲寮曚綅緗紑濮嬶紝鍊掔潃鍚戝ご閮ㄦ悳绱€傛敞鎰忥細濡傛灉浠庡熬閮ㄥ紑濮嬬殑绱㈠紩鍊兼槸words->Lenght-1銆?/p>
濡傛灉瑕佹悳绱竴涓瓧絎︿覆鏁扮粍涓換鎰忓厓绱犲嚭鐜板湪瀛楃涓蹭腑鐨勪綅緗紝鍙互浣跨敤IndexOfAny()鍑芥暟銆傚悓鏍鳳紝瀹冧篃鏈夊掑簭鎼滅儲鐨勭増鏈?涓嬮潰鐨勪緥瀛愯鏄庝簡IndexOfAny()鐨勭敤娉曘?/p>
渚嬪瓙錛氭悳绱㈠瓧絎︿覆涓殑鏍囩偣絎﹀彿
// Ex4_18.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<wchar_t>^ punctuation = {L'"', L'\'', L'.', L',', L':',L'!', L'?'}; String^ sentence = L"\"It's chilly in here\", the boy 's mother said coldly."; array<wchar_t>^ indicators = gcnew array<wchar_t>(sentence->Length){L' '}; int index = 0; int count = 0; while((index=sentence->IndexOfAny(punctuation, index))>=0) { indicators[index] = L'^'; ++index; ++count; } Console::WriteLine(L"There are {0} punctuation charactors in the string:", count); Console::WriteLine(L"\n{0}\n{1}", sentence, gcnew String(indicators)); return 0; } 杈撳嚭涓?/em>
There are 6 punctuation charactors in the string: "It's chilly in here", the boy 's mother said coldly. ^ ^ ^^ ^ ^
璺熻釜鍙ユ焺綾諱技浜庢湰鍦癈++鎸囬拡錛屼絾涔熸湁寰堝ぇ鍖哄埆銆傝窡韙彞鏌勭‘瀹炲瓨鍌ㄧ潃鏌愪釜瀵硅薄鐨勫湴鍧錛屼絾褰揅LR鍘嬬緝鍫嗚繃紼嬩腑鏀瑰彉浜嗚瀵硅薄鐨勫湴鍧錛屽垯鍨冨溇鍥炴敹鍣ㄨ嚜鍔ㄦ洿鏂板彞鏌勬墍鍖呭惈鐨勫湴鍧銆傛垜浠笉鑳藉儚鏈湴鎸囬拡閭f牱鐢ㄨ窡韙彞鏌勬潵鎵ц鍦板潃鐨勭畻鏈繍綆楋紝涔熶笉鍏佽瀵硅窡韙彞鏌勮繘琛屽己鍒剁被鍨嬭漿鎹€?
鍦–LR鍫嗕腑鍒涘緩鐨勫璞″繀欏昏璺熻釜鍙ユ焺寮曠敤銆傛墍鏈夊睘浜庡紩鐢ㄧ被鍨嬬殑瀵硅薄閮藉瓨鍌ㄥ湪鍫嗕腑錛屽洜姝や負寮曠敤榪欎簺瀵硅薄鎵鍒涘緩鐨勫彉閲忛兘蹇呴』鏄窡韙彞鏌勩備緥濡傦紝String綾誨瀷鏄紩鐢ㄧ被鍨嬶紝鍥犳寮曠敤String瀵硅薄鐨勫彉閲忓繀欏繪槸璺熻釜鍙ユ焺銆傚肩被鍨嬮粯璁ゅ垎閰嶅湪鍫嗘爤涓婏紝浣嗕篃鍙互鐢╣cnew鎿嶄綔絎﹀皢鍏跺瓨鍌ㄥ湪鍫嗕笂銆傛澶栧繀欏繪敞鎰忥紝鍦ㄥ爢涓婂垎閰嶇殑鍙橀噺鈥斺斿叾涓寘鎷墍鏈塁LR寮曠敤綾誨瀷鈥斺旈兘涓嶈兘鍦ㄥ叏灞浣滅敤鍩熷唴澹版槑銆?
閫氳繃鍦ㄧ被鍨嬪悕縐板悗鍔?#8221;^”絎﹀彿錛岀敤浜庡0鏄庝竴涓綾誨瀷鐨勫彞鏌勩?/p>
澹版槑浜嗕竴涓猄tring綾誨瀷鐨勮窡韙彞鏌刾roverb銆?
鍦ㄥ0鏄庢椂鍙ユ焺鏃訛紝緋葷粺鑷姩涓哄叾鍒嗛厤涓涓┖鍊鹼紝璇ュ彞鏌勪笉寮曠敤浠諱綍瀵硅薄銆備篃鍙樉紺哄湴灝嗘煇涓彞鏌勭疆涓虹┖鍊?
proverb = nullptr;
娉ㄦ剰涓嶈兘鐢?鏉ヨ〃紺虹┖鍊箋傚鏋滅敤0鏉ュ垵濮嬪寲鏌愪釜鍙ユ焺錛屽垯0灝嗚嚜鍔ㄨ漿鎹負琚紩鐢ㄧ被鍨嬬殑瀵硅薄錛岃屽彞鏌勫垯鎸囧悜璇ュ璞°?
鍙互鍦ㄥ0鏄庡彞鏌勬椂鏄劇ず鐨勫皢鍏跺垵濮嬪寲錛?/p>
String^ saying = L"I used to think I was indecisive but now I??¡ê¡èm not so sure.;"
璇ヨ鍙ラ鍏堝湪鍫嗕笂鍒涘緩涓涓寘鍚瓑鍙峰彸杈瑰瓧絎︿覆鐨凷tring瀵硅薄錛岀劧鍚庡皢璇ュ璞$殑鍦板潃瀛樺叆saying涓傛敞鎰忓瓧絎︿覆瀛楅潰鍊肩殑綾誨瀷涓篶onst wchar_t*鑰岄潪String銆傜被String鎻愪緵浜嗚繖鏍風殑鏂規硶浣垮緱const wchar_t*綾誨瀷鐨勫瓧絎︿覆鍙互鐢ㄦ潵鍒涘緩String綾誨瀷鐨勫璞°?
涓嬮潰榪欐潯璇彞鍒涘緩浜嗗肩被鍨嬬殑鍙ユ焺錛?/p>
int^ value = 99;
璇ヨ鍙ュ湪鍫嗕笂鍒涘緩涓涓狪nt32鍨嬬殑鍊肩被鍨嬪彉閲忥紝鐒跺悗灝嗚鍙橀噺鐨勫湴鍧瀛樺叆鍙ユ焺value涓傜敱浜巚alue鏄竴縐嶆寚閽堬紝鍥犳涓嶈兘鐩存帴鍙備笌綆楁湳榪愮畻錛屽彲浣跨敤*榪愮畻絎﹀鍦板潃姹傚鹼紙綾諱技浜庢湰鍦癈++鎸囬拡閭f牱錛?
int result = 2*(*value)+15;
鐢變簬*value琛ㄧずvalue鎵鎸囧悜鍦板潃瀛樺偍鐨勬暟鍊鹼紝鍥犳result鐨勫間負2*99+15=213銆傛敞鎰忥紝褰搗alue浣滀負榪愮畻寮忓乏鍊兼椂錛屼笉闇瑕?鍗沖彲瀵箆alue鎸囧悜鐨勫彉閲忚祴鍊箋?
int^ result = 0;
result = 2*(*value)+15;
棣栧厛鍒涘緩浜嗕竴涓寚鍚戞暟鍊?鐨勫彞鏌剅esult銆傦紙璇ヨ鍙ヤ細瑙﹀彂涓鏉$紪璇戝櫒璀﹀憡錛屾彁紺轟笉鑳藉埄鐢?鏉ュ皢鍙ユ焺鍒濆鍖栦負絀哄箋傦級
絎?鏉¤鍙?鍙峰彸杈逛負鏁板鹼紝鑰屽乏杈逛負鍙ユ焺錛岀紪璇戝櫒灝嗚嚜鍔ㄥ皢鍙沖艱祴浜堝彞鏌勬墍鎸囧悜鐨勫璞★紝鍗沖皢鍏惰漿鎹負濡備笅璇彞
*result = 2*(*value)+15;
娉ㄦ剰錛岃閲囩敤涓婇潰鐨勮鍙ワ紝result鍙ユ焺蹇呴』瀹為檯瀹氫箟榪囥傚鏋滀粎浠呭0鏄庝簡result錛屽垯浼氫駭鐢熻繍琛屾椂閿欒
int^ result;
*result = 2*(*value)+15;
榪欐槸鍥犱負絎簩鍙ヨ瀵瑰湴鍧result姹傚鹼紝鍗蟲剰鍛崇潃result鎸囧悜鐨勫璞″凡緇忓瓨鍦紝浣嗗疄闄呭茍闈炲姝わ紝鍥犱負澹版槑璇ュ璞℃椂緋葷粺榛樿璧嬩簣鍏剁┖鍊?nullptr)銆傚湪榪欑鎯呭喌涓嬶紝閲囩敤涓嬮潰鐨勬柟娉曞氨鍙互姝e父宸ヤ綔浜?
int^ result;
result = 2*(*value)+15;
CLR鏁扮粍鏄垎閰嶅湪鍙洖鏀跺瀮鍦懼爢涓婄殑銆傚繀欏葷敤array<typename>鎸囧嚭瑕佸垱寤虹殑鏁扮粍錛屽悓鍏跺畠CLR鍫嗕笂鐨勫璞′竴鏍鳳紝闇瑕佺敤鍙ユ焺鏉ヨ闂畠錛屼緥瀛愬涓嬶細
array<int>^ data;
鏁扮粍鍙ユ焺data鍙敤浜庡瓨鍌ㄥ鍏冪礌綾誨瀷涓篿nt鐨勪竴緇存暟緇勭殑寮曠敤銆備笅闈㈢殑渚嬪瓙澹版槑浜嗕竴涓彞鏌勶紝騫舵柊寤轟竴涓狢LR鏁扮粍鏉ュ姝ゅ彞鏌勫垵濮嬪寲銆?/p>
array<int>^ data = gcnew array<int>(100);
鍜屾湰鍦癈++鏁扮粍涓鏍鳳紝CLR鏁扮粍涓厓绱犵殑绱㈠紩鍊間篃鏄粠0寮濮嬬殑錛屽彲浠ラ氳繃[ ]璁塊棶鏁扮粍鍏冪礌銆傛暟緇勫厓绱犻兘鏄疌LR瀵硅薄錛屽湪涓婇潰鐨勪緥瀛愪腑鏁扮粍鍏冪礌涓篒nt32鍨嬪璞★紝瀹冧滑鍦ㄧ畻鏈〃杈懼紡涓氨鍍忔櫘閫氱殑鏁存暟綾誨瀷涓鏍楓?
Length灞炴ф槸鏁扮粍鐨勪竴涓噸瑕佸睘鎬э紝璁板綍鐫鏁扮粍鍏冪礌鐨勬暟閲忋?/p>
for(int i=0; i<data->Length; i++) data[i] = 2*(i+1);
灞炴ongLength鍒欎繚瀛樹簡64浣嶇殑鏁扮粍闀垮害銆?
鍙互鐢╢or each寰幆閬嶅巻鏁扮粍鍏冪礌銆?/p>
array<int>^ value = {3, 5, 6, 8, 6}; for each(int item in value) { item = 2*item + 1; Console::WriteLine("{0, 5}", item); }
璇ュ驚鐜緭鍑?瀛楃瀹藉害鐨勫瓧孌碉紝浠ュ彸瀵歸綈鐨勬柟寮忚緭鍑哄綋鍓嶅厓绱犵殑璁$畻緇撴灉錛岃緭鍑哄涓嬶細
____7___11___13___17___13
鏁扮粍鍙ユ焺鍙互琚噸鏂拌祴鍊鹼紝鍙淇濇寔鏁扮粍鍏冪礌綾誨瀷鍜岀淮鏁幫紙絳夌駭錛変笉鍙樺嵆鍙紝鍦ㄥ墠闈緥瀛愪腑鐨勬暟緇勫彞鏌刣ata鎸囧悜涓涓猧nt綾誨瀷鐨勪竴緇存暟緇勶紝鍙互閲嶆柊緇欏畠璧嬪鹼紝浣垮叾鎸囧悜鍙﹀鐨刬nt綾誨瀷1緇存暟緇勶細
data = gcnew array<int>(45);
鏁扮粍鍙互鍦ㄥ垱寤烘椂閫氳繃鍏冪礌鍒楄〃鍒濆鍖栵紝涓嬩緥鍦–LR鍫嗕笂鍒涘緩浜嗕竴涓猟ouble綾誨瀷鐨勬暟緇勶紝騫跺皢寮曠敤璧嬪肩粰浜嗘暟緇勫彞鏌勶細
array<double>^ sample = {3.4, 2.3, 6.8, 1.2, 5.5, 4.9, 7.4, 1.6};
濡傛灉鍦ㄥ0鏄庢暟緇勫彞鏌勬椂涓嶈繘琛屽垵濮嬪寲錛岄偅涔堝湪緇欏彞鏌勮祴鍊兼椂涓嶈兘閲囩敤涓婇潰鐨勬柟娉曠洿鎺ョ敤鍏冪礌鍒楄〃鐢ㄤ綔鍙沖鹼紝鑰屽繀欏婚噰鐢ㄦ樉紺哄垱寤虹殑鏂瑰紡銆傚嵆涓嶈兘
array<double>^ sample;
sample = {3.4, 2.3, 6.8, 1.2, 5.5, 4.9, 7.4, 1.6}
鑰屽繀欏婚噰鐢ㄥ涓嬫柟寮?
array<double>^ sample; sample = gcnew array<double>{3.4, 2.3, 6.8, 1.2, 5.5, 4.9, 7.4, 1.6}
瀵逛簬瀛楃涓叉暟緇勶紝娉ㄦ剰姣忎竴涓厓绱犱篃鏄紩鐢ㄧ被鍨嬶紝榪欐槸鍥犱負姣忎竴涓厓绱燬tring涔熸槸鍦–LR鍫嗕笂鍒涘緩鐨勶紝鍥犳涔熻鐢⊿tring^鏉ヨ闂畠銆?
array<String^>^ names = {"Jack", "John", "Joe", "Jessica", "Jim", "Joanna"};
鍙互鐢ˋrray綾婚潤鎬佸嚱鏁癈lear()瀵規暟緇勪腑鐨勮繛緇暟緇勫厓绱犳竻闆躲?
Array::Clear(samples, 0, samples->Length);
Clear()鍑芥暟鐨勭涓涓弬鏁版槸琚竻闆剁殑鏁扮粍錛岀浜屼釜鍙傛暟鏄娓呴櫎鍦扮涓涓厓绱犵殑绱㈠紩錛岀涓変釜鍙傛暟涓鴻娓呴櫎鍦板厓绱犳暟閲忋傚洜姝や笂榪拌鍙ュ皢samples鏁扮粍鐨勬墍鏈夊厓绱犻兘緗負0銆傚鏋淐lear()娓呴櫎鐨勬槸鏌愪釜璺熻釜鍙ユ焺錛屽垯鍙ユ焺鎵瀵瑰簲鐨勫厓绱犻兘琚簲鐢–lear()鍑芥暟銆傚鏋滃厓绱犱負bool鍨嬶紝鍒欒緗負false銆?
Array綾昏繕瀹氫箟浜嗕竴涓猄ort()闈欐佸嚱鏁幫紝鍙敤浜庡鏁扮粍榪涜鎺掑簭銆傚鏋滀互鏁扮粍鍙ユ焺浣滀負鍙傛暟錛屽垯瀵規暣涓暟緇勬帓搴忋傚鏋滆瀵規暟緇勯儴鍒嗘帓搴忥紝鍒欒繕闇瑕佸鍔犲厓绱犺搗濮嬬儲寮曞強鏁伴噺錛屽涓嬩緥
//////////////////////////////////////////////////////// array<int>^ samples = {27, 3, 54, 11, 18, 2, 16}; Array::Sort(samples, 2, 3); ////////////////////////////////////////////////////////
鎺掑簭鍚庢暟緇勫厓绱犲彉涓簕27, 3, 11, 18, 54, 2, 16}
Sort鍑芥暟榪樻湁寰堝鍏跺畠鐗堟湰錛屼笅闈㈢殑渚嬪瓙灞曠ず浜嗗浣曟帓搴忎袱涓浉鍏崇殑鏁扮粍錛屽嵆絎竴涓暟緇勪腑鐨勫厓绱犳槸絎簩涓暟緇勫搴斿厓绱犵殑閿傚絎竴涓暟緇勬帓搴忓悗錛屽彲瀵圭浜屼釜鏁扮粍榪涜鐩稿簲鐨勮皟鏁達紝浣垮緱閿笌鍊肩浉浜掑搴斻?/p>
/////////////////////////////////////////////////////////////////////////// // Ex4_13.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<String^>^ names = { "Jill", "Ted", "Mary", "Eve", "Bill", "Al" }; array<int>^ weights = {103, 168, 128, 115, 180, 176}; Array::Sort(names, weights); for each( String^ name in names ) Console::Write(L"{0, 10}", name); Console::WriteLine(); for each(int weight in weights) Console::Write(L"{0, 10}", weight); Console::WriteLine(); return 0; } /////////////////////////////////////////////////////////////////////////////
杈撳嚭涓猴細
Al Bill Eve Jill Mary Ted
176 180 115 103 128 168
渚嬪瓙璇存槑
Sort()鍑芥暟瀵?涓暟緇勬帓搴忔椂錛岀敤絎竴涓暟緇勫弬鏁版潵紜畾涓や釜鏁扮粍鐨勯『搴忥紝浠ユ淇濇寔2涓暟緇勫厓绱犲搴斿叧緋諱笉鍙樸?
Array綾昏繕鎻愪緵浜嗗嚱鏁癇inarySearch()浠ヤ嬌鐢ㄥ鍒嗘硶鎼滅儲綆楁硶錛屽涓緇存暟緇勬垨緇欏畾鑼冨洿鍐呮悳绱㈢壒瀹氬厓绱犵殑绱㈠紩浣嶇疆銆備嬌鐢ㄨ鍑芥暟瑕佹眰鏁扮粍蹇呴』鏄『搴忔帓鍒楃殑錛屽洜姝ゅ湪鎼滅儲涔嬪墠蹇呴』瀵規暟緇勮繘琛屾帓搴忋?/p>
array<int>^ value = { 23, 45, 68, 94, 123, 150, 203, 299 }; int toBeFound = 127; int position = Array::BinarySearch(value, toBeFound); if(position<0) Console::WriteLine(L"{0} was not found.", toBeFound); else Console::WriteLine(L"{0} was found at index position {1}", toBeFound, position);
Array::BinarySearch()鐨勭涓涓弬鏁版槸琚悳绱㈡暟緇勭殑鍙ユ焺錛岀浜屼釜鍙傛暟鏄鏌ユ壘鐨勫唴瀹癸紝榪斿洖鍊間負int綾誨瀷鐨勬暟鍊箋傚鏋滆繑鍥炲煎皬浜?鍒欒鏄庢湭鎵懼埌銆傚鏋滆鎸囧畾鎼滅儲鑼冨洿錛屽垯闇瑕佷紶閫?涓弬鏁幫紝鍏朵腑絎?鍙傛暟涓烘悳绱㈣搗濮嬬儲寮曪紝絎?鍙傛暟涓烘悳绱㈢殑鍏冪礌鏁伴噺錛岀4涓槸瑕佹悳绱㈢殑鍐呭銆?/p>
array<int>^ value = { 23, 45, 68, 94, 123, 150, 203, 299 }; int toBeFound = 127; int position = Array::BinarySearch(value, 3, 6, toBeFound);
涓婇潰鐨勪唬鐮佷粠絎?涓厓绱犲紑濮嬶紝涓鐩存悳绱㈠埌緇撴潫浣嶇疆銆?/pre>渚嬪瓙錛氭悳绱㈡暟緇?/em>/////////////////////////////////////////////////////////////////////////////////////// // Ex4_14.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<String^>^ names = { "Jill", "Ted", "Mary", "Eve", "Bill", "Al", "Ned", "Zoe", "Dan", "Jean" }; array<int>^ weights = {103, 168, 128, 115, 180, 176, 209, 98, 190, 130}; array<String^>^ toBeFound = {"Bill", "Eve", "Al", "Fred"}; int result = 0; Array::Sort(names, weights); for each( String^ name in toBeFound ) { result = Array::BinarySearch(names, name); if(result<0) Console::WriteLine(L"{0} was not found.", name); else Console::WriteLine(L"{0} weights {1} lbs.", name, weights[result]); } return 0; } ///////////////////////////////////////////////////////////////////////////////////////渚嬪瓙璇存槑
褰撴悳绱笉鍒扮洰鏍囨椂錛孉rray::BinarySearch()鍑芥暟杈撳嚭鐨勫茍闈炰換鎰忚礋鏁幫紝鑰屾槸絎竴涓ぇ浜庤鐩爣鐨勫厓绱犵儲寮曞肩殑鎸変綅琛ョ爜銆傚埄鐢ㄨ鏂規硶錛屽彲浠ヤ笉鎵撲貢欏哄簭鍦ㄦ暟緇勪腑鎻掑叆鏂板箋傚錛屾垜浠笇鏈涙彃鍏?#8221;Fred”鍒皀ames鏁扮粍涓?/p>
array<String^>^ names = { "Jill", "Ted", "Mary", "Eve", "Bill", "Al", "Ned", "Zoe", "Dan", "Jean" } Array::Sort(names); String^ name = L"Fred"; int position = Array::BinarySearch(names, name); if(position<0) position = ~position;姝ゆ椂錛宲osition淇濆瓨鐨勬槸澶т簬Fred鐨勭涓涓厓绱犵殑浣嶇疆錛岃鏁板煎彲鐢ㄤ簬鎻掑叆鏂板箋?/p>
array<String^>^ newNames = gcnew array<String^>(names->Length+1); for(int i=0;i<position;i++) newNames[i] = names[i]; newNames[position] = name; if(position<name->Length) for(int i=position; i<names->Length; i++) newNames[i+1] = names[i]; names = nullptr;鏈鍚庝竴鍙ョ敤浜庡垹闄ames鏁扮粍銆?/p>
(鍥?澶氱淮鏁扮粍
C++/CLI涓彲浠ュ垱寤哄緇存暟緇勶紝鏈澶х淮鏁?2緇淬備笌ISO/ANSI C++涓嶅悓鐨勬槸錛孋++/CLI涓殑澶氱淮鏁扮粍騫墮潪鏁扮粍鐨勬暟緇勶紝鑰屾槸鐪熸鐨勫緇存暟緇勶紝鍒涘緩鏁存暟澶氱淮鏁扮粍鏂規硶濡備笅錛?/p>
array<int 2>^ value = gcnew array<int, 2>(4, 5);涓婇潰鐨勪唬鐮佸垱寤轟簡涓涓簩緇存暟緇勶紝鍥涜浜斿垪錛屽叡20涓厓绱犮傝闂殑鏂規硶鏄埄鐢ㄥ涓敤閫楀彿鍒嗛殧鐨勭儲寮曞兼潵璁塊棶姣忎竴涓厓绱狅紝鑰屼笉鑳界敤涓涓儲寮曞艱闂竴琛?/p>
int nrows = 4; int ncols = 5; array<int, 2>^ value = gcnew array<int, 2>(nrows, ncols); for(int i=0; i<nrows; i++) for(int j=0; j<ncols; j++) value[i, j] = (i+1)*(j+1);涓婇潰鐨勪唬鐮佸埄鐢ㄥ驚鐜粰浜岀淮鏁扮粍value璧嬪箋傝繖閲岃闂簩緇存暟緇勫厓绱犵殑絎﹀彿涓庢湰鍦癈++涓嶅悓錛氬悗鑰呭疄闄呬笂鏄暟緇勭殑鏁扮粍錛岃孋++/CLI鏄湡姝g殑浜岀淮鏁扮粍錛屼笉鑳界敤涓涓儲寮曞兼潵璁塊棶浜岀淮鏁扮粍錛岄偅鏍鋒槸娌℃湁鎰忎箟鐨勩傛暟緇勭殑緇存暟琚О涓虹瓑綰э紝涓婇潰value鏁扮粍鐨勭瓑綰т負2銆傝屾湰鍦癈++鏁扮粍鐨勭瓑綰у緇堜負1銆傚綋鐒訛紝鍦–++/CLI涓篃鍙互瀹氫箟鏁扮粍鐨勬暟緇勶紝鏂規硶瑙佷笅渚?/p>
渚嬪瓙錛氫嬌鐢ㄥ緇存暟緇?/p>
/////////////////////////////////////////////////////////////////////////// // Ex4_15.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { const int SIZE = 12; array<int, 2>^ products = gcnew array<int, 2>(SIZE, SIZE); for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) products[i, j] = (i+1)*(j+1); Console::WriteLine(L"Here is the {0} times table:", SIZE); // Write horizontal divider line for(int i=0; i<=SIZE; i++) Console::Write(L"_____"); Console::WriteLine(); // Write top line of table Console::Write(L" |"); for(int i=1; i<=SIZE; i++) Console::Write("{0, 3} |", i); Console::WriteLine(); // Write horizontal divider line with verticals for(int i=0; i<=SIZE; i++) Console::Write("____|", i); Console::WriteLine(); // Write remaining lines for(int i=0; i<SIZE; i++) { Console::Write(L"{0, 3} |", i+1); for(int j=0; j<SIZE; j++) Console::Write("{0, 3} |", products[i, j]); Console::WriteLine(); } // Write horizontal divider line for(int i=0; i<=SIZE; i++) Console::Write("_____", i); Console::WriteLine(); return 0; } /////////////////////////////////////////////////////////////////////////////////////////////渚嬪瓙璇存槑
涓婇潰鐨勪緥瀛愬垱寤轟簡涓涓?2x12鐨勪箻娉曡〃錛岃緭鍑哄涓嬶細
Here is the 12 times table: _________________________________________________________________ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ____|____|____|____|____|____|____|____|____|____|____|____|____| 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 2 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 3 | 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 33 | 36 | 4 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | 32 | 36 | 40 | 44 | 48 | 5 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 6 | 6 | 12 | 18 | 24 | 30 | 36 | 42 | 48 | 54 | 60 | 66 | 72 | 7 | 7 | 14 | 21 | 28 | 35 | 42 | 49 | 56 | 63 | 70 | 77 | 84 | 8 | 8 | 16 | 24 | 32 | 40 | 48 | 56 | 64 | 72 | 80 | 88 | 96 | 9 | 9 | 18 | 27 | 36 | 45 | 54 | 63 | 72 | 81 | 90 | 99 |108 | 10 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 |100 |110 |120 | 11 | 11 | 22 | 33 | 44 | 55 | 66 | 77 | 88 | 99 |110 |121 |132 | 12 | 12 | 24 | 36 | 48 | 60 | 72 | 84 | 96 |108 |120 |132 |144 | _________________________________________________________________鍏朵腑鍒涘緩浜岀淮鏁扮粍鐨勪唬鐮佸涓嬶細
const int SIZE = 12; array<int, 2>^ products = gcnew array<int, 2>(SIZE, SIZE);絎竴琛屽畾涔変簡涓涓暣鍨嬪父閲廠IZE錛岀敤浜庢寚瀹氭瘡涓緇存暟緇勭殑鍏冪礌鏁伴噺錛岀浜岃浠g爜瀹氫箟浜嗕竴涓瓑綰?鐨勬暟緇勶紝涓?2x12澶у皬錛岃鏁扮粍鐢ㄤ簬瀛樺偍12x12鐨勪箻娉曡〃涔樼Н銆傜劧鍚庡湪宓屽寰幆涓粰鏁扮粍璧嬪鹼紝澶ч儴鍒嗕唬鐮佺敤浜庢牸寮忓寲杈撳嚭浠ヤ嬌鍏舵洿鍔犵編瑙傦紝榪欓噷灝變笉鍐嶈鏄庛?/p>
(浜?鏁扮粍鐨勬暟緇?/h2>
濡傛灉鏁扮粍鐨勫厓绱犳槸寮曠敤鏁扮粍鐨勮窡韙彞鏌勶紝閭d箞灝卞彲浠ュ垱寤烘暟緇勭殑鏁扮粍銆傚悓鏃訛紝姣忎竴緇存暟緇勭殑闀垮害鍙互涓嶅悓錛屽嵆鎵璋撶殑“閿嬌褰㈡暟緇?#8221;銆備緥濡傦紝鐢ˋBCDE鏉ヨ〃紺哄鐢熺殑鎴愮嘩絳夌駭錛屾牴鎹瓑綰у垎緇勫瓨鍌ㄧ彮鍐呭鐢熺殑濮撳悕錛屽垯鍙互鍒涘緩涓涓寘鍚?涓厓绱犵殑鏁扮粍錛屾瘡涓厓绱犱負涓涓鍚嶆暟緇勶紙鍗沖瓧絎︿覆鏁扮粍錛?/p>
array<array<String ^>^>^ grades = gcnew array<array<String^>^>(5)鍒╃敤涓婇潰鍒涘緩鐨勬暟緇勶紝鐒跺悗鍙互鍒涘緩5涓鍚嶆暟緇勪簡
grades[0] = gcnew array<String^>{"Louise", "Jack"}; grades[1] = gcnew array<String^>{"Bill", "Mary", "Ben", "Joan"}; grades[2] = gcnew array<String^>{"Jill", "Will", "Phil"}; grades[3] = gcnew array<String^>{"Ned", "Fred", "Ted", "Jed", "Ed"}; grades[4] = gcnew array<String^>{"Dan", "Ann"};grades[n]璁塊棶grades鏁扮粍鐨勭n涓厓绱狅紝鑰屽悇鍏冪礌涓烘寚鍚慡tring^綾誨瀷鏁扮粍鐨勫彞鏌勶紝鍥犳涓婇潰鐨勮鍙ョ敤浜庡垱寤轟簡String瀵硅薄鍙ユ焺鐨勬暟緇勶紝騫跺皢鍒涘緩鏁扮粍鐨勫湴鍧璧嬪肩粰浜唃rades鏁扮粍鍏冪礌銆傚悓鏃訛紝榪欎簺瀛楃涓叉暟緇勭殑闀垮害鏄笉鍚岀殑銆?/p>
涓婇潰鐨勮鍙ヤ篃鍙互鐢ㄤ竴涓垵濮嬪寲璇彞鏉ュ疄鐜?/p>
array<array<String^>^>^ grades = gcnew array<array<String^>^> { gcnew array<String^>{"Louise", "Jack"}, gcnew array<String^>{"Bill", "Maray", "Ben", "Joan"}, gcnew array<String^>{"Jill", "Will", "Phil"}, gcnew array<String^>{"Ned", "Fred", "Ted", "Jed", "Ed"}, gcnew array<String^>{"Dan", "Ann"}, };鍏冪礌鐨勫垵鍊煎繀欏誨啓鍦ㄨ姳鎷彿閲屻?/p>
渚嬪瓙錛氫嬌鐢ㄦ暟緇勭殑鏁扮粍
//////////////////////////////////////////////////////////////////////// // Ex4_16.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { array<array<String^>^>^ grades = gcnew array<array<String^>^> { gcnew array<String^>{"Louise", "Jack"}, gcnew array<String^>{"Bill", "Maray", "Ben", "Joan"}, gcnew array<String^>{"Jill", "Will", "Phil"}, gcnew array<String^>{"Ned", "Fred", "Ted", "Jed", "Ed"}, gcnew array<String^>{"Dan", "Ann"} }; wchar_t gradeLetter = 'A'; for each(array<String^>^ grade in grades) { Console::WriteLine(L"Students with Grade {0}:", gradeLetter++); for each(String^ student in grade) Console::Write("{0, 12}", student); Console::WriteLine(); } return 0; } ///////////////////////////////////////////////////////////////////////////渚嬪瓙璇存槑
杈撳嚭涓?/p>
Students with Grade A: Louise Jack Students with Grade B: Bill Maray Ben Joan Students with Grade C: Jill Will Phil Students with Grade D: Ned Fred Ted Jed Ed Students with Grade E: Dan Ann
]]>
ISO/ANSI C++涓殑鎺у埗涓庡驚鐜叏閮ㄩ傜敤浜嶤++/CLI銆備笅渚嬪睍紺轟簡C++/CLI鎺у埗鍙扮▼搴忎腑鐨勬帶鍒跺驚鐜細
// Ex3_15.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { wchar_t letter;
Console::Write(L"Enter a letter:"); letter = Console::Read();
if(letter>='A') if(letter<='Z') { Console::WriteLine(L"You entered a captial letter."); return 0; }
if(letter>='a') if(letter<='z') { Console::WriteLine(L"You entered a small letter."); return 0; }
Console::WriteLine(L"You did not enter a letter."); return 0; } |
letter琚0鏄庝負wchar_t綾誨瀷錛屾槧灝勪負C++/CLI涓殑System::Char綾誨瀷錛屽畠鍏鋒湁涓浜涚壒孌婄殑鍔熻兘錛屽叾涓寘鎷皢瀛楃浠g爜杞崲涓哄ぇ鍐欏拰灝忓啓鐨勫嚱鏁幫細Char::ToUpper錛堬級鍜孋har::ToLower()錛岃杞崲鐨勫嚱鏁頒綔涓哄弬鏁拌浼犻掔粰瀹冿細
wchar_t uppercaseLetter = Char::ToUpper(letter); |
姝ゅ榪樺寘鎷嫻嬪瓧姣嶆槸鍚﹀ぇ鍐欐垨灝忓啓鐨勫嚱鏁?IsUpper()鍜孖sLower()錛屽洜姝や笂渚嬪彲鏀逛負
wchar_t letter; wchar_t upper; Console::Write(L"Enter a letter:"); letter = Console::Read(); upper = Char::ToUpper(letter); if(upper>='A' && upper<='Z') Console::WriteLine(L"You entered a {0} letter.", Char::IsUpper(letter) ? "Capital":"Small"); else Console::WriteLine(L"You entered a small letter."); |
渚嬪瓙錛氫笅闈㈢湅涓涓柊鐨勪緥瀛愶紝璇曚竴璇曚嬌鐢–onsole::ReadKey()鍑芥暟錛屽茍鍒濇浜嗚ВConsoleKeyInfo綾匯?/em>
// Ex3_16.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { ConsoleKeyInfo keyPress;
Console::WriteLine(L"Press a key combination - press Escape to quit."); do{ keyPress = Console::ReadKey(true); Console::Write(L"You pressed"); if(safe_cast<int>(keyPress.Modifiers)>0) Console::Write(L" {0}", keyPress.Modifiers); Console::WriteLine(L" {0} which is the {1} character銆?, keyPress.Key, keyPress.KeyChar); }while(keyPress.Key != ConsoleKey::Escape); return 0; } |
璇ョ▼搴忕殑杈撳叆紺轟緥濡備笅錛?/em>
Press a key combination – press Escape to quit.
You pressed Shift A which is the A character.
You pressed Control 錛?which is the character.
You pressed Alt A which is the a character.
You pressed Escape which is the ← character.
璇鋒寜浠繪剰閿戶緇? . .
渚嬪瓙璇存槑
Console::ReadKey()鍑芥暟鐢ㄤ簬嫻嬭瘯鎸夐敭錛屽茍灝嗙粨鏋滃瓨鍌ㄥ湪ConsoleKeyInfo綾誨璞¢噷銆傝綾繪湁3涓彲璁塊棶灞炴х敤浜庡府鍔╃‘瀹氳鎸変笅鐨勯敭鏄摢涓垨鍝簺閿傚睘鎬ey璇嗗埆琚寜涓嬬殑閿槸鍝釜錛屽睘鎬eyChar鏄鎸夐敭鐨刄nicode瀛楃鐮侊紝灞炴odifiers琛ㄧずShift,Alt,Ctrl閿殑鎸変綅緇勫悎錛屽畠鏄畾涔夊湪System鍛藉悕絀洪棿涓殑鏋氫婦綾誨瀷ConsoleModifiers鐨勫父閲忥紝鍖呮嫭Shift\Alt\Control銆?/em>
搴旇娉ㄦ剰鐨勬槸錛屽湪C++/CLI涓灇涓懼父閲忓湪鐢ㄤ綔鏁板間箣鍓嶅繀欏昏鏄劇ず鐨勫己鍒惰漿鎹負鍊肩被鍨嬶紙鏁存暟綾誨瀷錛夈?/em>
浠庤緭鍑轟腑鍙互鐪嬪嚭錛屽綋涓嶅彧涓涓敭琚寜涓嬫椂錛岀敤涓鏉¤鍙ュ氨鍙互寰楀埌鎵鏈夌殑閿傝繖鏄洜涓篗odifiers鏋氫婦綾誨瀷鏄敤FlagsAttribute灞炴у畾涔夌殑錛岃灞炴ц〃鏄庤繖縐嶆灇涓劇被鍨嬫槸涓緇勫敮涓鐨勪綅鏍囧織銆傝繖浣垮緱璇ユ灇涓劇被鍨嬬殑鍙橀噺鍙互鐢辮嫢騫蹭笌鍦ㄤ竴璧風殑鏍囧織浣嶇粍鎴愶紝鑰學rite()鎴朩riteLine()鍑芥暟鍙互璇嗗埆騫惰緭鍑哄悇鏍囧織浣嶃?/em>
渚嬪瓙錛氫粠渚嬪瓙寮濮嬶細
// Ex3_17.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { int volwels = 0; int consonants = 0; String^ proverb = L"A nod is as good as a wink to a blind horse.";
for each(wchar_t ch in proverb) { if(Char::IsLetter(ch)) { ch = Char::ToLower(ch); switch(ch) { case 'a': case 'e': case 'i': case 'o': case 'u': ++volwels; break;
default: ++consonants; break; } } }
Console::WriteLine(proverb); Console::WriteLine(L"The proverb contains {0} volwels and {1} consonants.", volwels, consonants); return 0; } |
杈撳嚭濡備笅錛?/em>
A nod is as good as a wink to a blind horse.
The proverb contains 14 volwels and 18 consanants.
渚嬪瓙璇存槑
璇ョ▼搴忚綆楀瓧絎︿覆涓殑鍏冮煶涓庤緟闊沖瓧姣嶇殑涓暟銆備笅闈㈢殑璇彞瀹氫箟浜嗚鍒嗘瀽鐨勫瓧絎︿覆錛?/em>
String^ proverb = L”A nod is as good as a wink to a blinds horse”;
proverb鍙橀噺涓篠tring鍙ユ焺鐨凷tring^綾誨瀷錛屽彞鏌勮鐢ㄦ潵瀛樺偍CLR綆$悊鐨勬棤鐢ㄥ崟鍏冨爢涓婄殑鏌愪釜瀵硅薄鐨勪綅緗傞噸澶嶅鐞唒roverb鎵寮曠敤瀛楃涓蹭腑鍚勪釜瀛楃鐨刦or each寰幆褰㈠紡濡備笅錛?/em>
for each(wchar_t ch in proverb)
{
// Process the current character stored in ch …
}
鐢變簬proverb瀛楃涓蹭腑鐨勫瓧絎﹂兘鏄疷nicode瀛楃錛屽洜姝ょ敤wchar_t錛堟槧灝勪負Char綾誨瀷錛夌被鍨嬬殑鍙橀噺鏉ュ瓨鍌ㄨ繖浜涘瓧絎︺傚彉閲廲h涓哄驚鐜唴鐨勫眬閮ㄥ彉閲忋?/em>
鐩告瘮浜嶪SO/ANSI C++鑰岃█錛孋++/CLI榪涜浜嗗ぇ閲忕殑鎵╁厖錛屽茍涓旀彁渚涗簡澶ч噺鐨勯檮鍔犲姛鑳姐備富瑕佸寘鎷細
涓銆佸熀鏈暟鎹被鍨?/font>
C++/CLI涓寘鎷簡鎵鏈塈SO/ASNI C++涓殑鍩烘湰鏁版嵁綾誨瀷錛岀畻鏈繍綆椾篃鍜屾湰鍦癈++瀹屽叏涓鏍楓傞櫎姝や箣澶栵紝C++/CLI涓繕瀹氫箟浜?縐嶆暣鏁扮被鍨嬶紝濡傝〃1鎵紺猴細
綾誨瀷 |
瀛楄妭 |
鍊煎煙 |
long long |
8 |
浠?9223372036854775808鍒?223372036854775807 |
Unsigned long long |
8 |
浠?鍒?8446744073709551615 |
鎸囧畾long long鏁版嵁綾誨瀷鏃訛紝闇瑕佸湪鏁存暟鏁板煎悗闈㈠姞LL鎴栧皬鍐欏瓧姣峫l錛屽
longlong big = 123456789LL; |
鎸囧畾unsinged long long綾誨瀷鏃訛紝闇瑕佸湪鏁存暟鏁板煎悗闈㈠姞ULL鎴栧皬鍐欏瓧姣島ll錛屽
unsigned long long huge = 123456789LL; |
鍦–++/CLI涓紝姣忎竴涓狪SO/ANSI C++鍩烘湰綾誨瀷鍚嶇О閮芥槧灝勫埌System鍛藉悕絀洪棿涓畾涔夌殑鍊肩被綾誨瀷銆傚湪C++/CLI紼嬪簭涓紝ISO/ANSI C++鍩烘湰綾誨瀷鍚嶇О閮芥槸CLI涓搴斿肩被綾誨瀷鐨勭畝鐣ュ艦寮忋傝〃2緇欏嚭浜嗗熀鏈被鍨嬨佸崰鐢ㄥ唴瀛樹互鍙婂搴旂殑鍊肩被綾誨瀷銆?/font>
琛?
鍩烘湰綾誨瀷 |
瀛楄妭 |
CLI鍊肩被綾誨瀷 |
bool |
1 |
System::Boolean |
char |
1 |
System::SByte |
singed char |
1 |
System::SByte |
unsigned char |
1 |
System::Byte |
short |
2 |
System:Int16 |
unsigned short |
2 |
System::UInt16 |
int |
4 |
System::Int32 |
unsigned int |
4 |
System::UInt32 |
long |
4 |
System::Int32 |
unsigned long |
4 |
System::UInt32 |
long long |
8 |
System::Int64 |
unsigned long long |
8 |
System::UInt64 |
float |
4 |
System::Single |
double |
8 |
System::Double |
long double |
8 |
System::Double |
wchar_t |
2 |
System::Char |
榛樿鎯呭喌涓嬶紝char綾誨瀷琚涓簊inged char錛屽洜姝ゅ叾鍏寵仈鐨勫肩被綾誨瀷涓篠ystem::SByte銆傚鏋滅紪璇戦夐」/J錛屽垯char 榛樿涓簎nsigned char錛屾鏃跺叧鑱斾負System::Byte銆係ystem涓烘牴鍛藉悕絀洪棿鍚嶏紝C++/CLI鐨勫肩被綾誨瀷鍦ㄨ繖涓┖闂翠腑瀹氫箟銆傛澶朣ystem絀洪棿涓繕瀹氫箟浜嗚澶氬叾浠栫被鍨嬶紝濡傝〃紺哄瓧絎︿覆鐨凷tring綾誨瀷銆佺簿紜瓨鍌ㄧ殑鍗佽繘鍒跺皬鏁扮被鍨婦ecimal絳夌瓑銆?
鍦–++/CLI涓紝鍏寵仈鐨勫肩被綾誨瀷涓哄熀鏈被鍨嬫坊鍔犱簡閲嶈鐨勯檮鍔犲姛鑳姐傜紪璇戝櫒鍦ㄩ渶瑕佹椂錛屽皢瀹夋帓鍘熷間笌鍏寵仈綾誨瀷涔嬮棿鐨勮嚜鍔ㄨ漿鎹紝鍏朵腑浠庡師鍊艱漿鎹負鍏寵仈綾誨瀷鎴愪負瑁呯(boxing)錛屽弽涔嬬О涓烘媶綆?unboxing)銆傛牴鎹笂涓嬫枃鐜錛岃繖浜涘彉閲忓皢琛ㄧ幇涓虹畝鍗曠殑鍊兼垨鑰呭璞°?
鐢變簬ISO/ANSI C++鍩烘湰綾誨瀷鐨勫悕縐版槸C++/CLI紼嬪簭涓肩被綾誨瀷鍚嶇О鐨勫埆鍚嶏紝鎵浠ュ師鍒欎笂C++/CLI浠g爜涓彲鐢ㄤ換浣曚竴縐嶅悕縐般?
int count = 10; double value = 2.5; |
涓庝笅闈㈢殑浠g爜鏄瓑浠風殑
System::Int32 count = 10; System::Double value = 2.5; |
涓婇潰2縐嶄唬鐮佹槸瀹屽叏鍚堟硶鐨勶紝浣嗗簲灝介噺浣跨敤鍩烘湰綾誨瀷鍚嶇О錛屽int鍜宒ouble錛岃屼笉鏄疭ystem::Int32鍜孲ystem::Double銆傝繖鏄洜涓轟笂闈㈡弿榪扮殑榪欑鏄犲皠鍏崇郴浠呴傜敤浜嶸isual C++ 2005鍙婁互涓婄増鏈殑緙栬瘧鍣紝鍏朵粬鐗堟湰緙栬瘧鍣ㄦ湭蹇呭疄鐜拌繖縐嶆槧灝勫叧緋匯?
灝嗗熀鏈被鍨嬭漿鎹負鍊肩被綾誨瀷鏄疌++/CLI鐨勪竴涓噸瑕佺壒寰併傚湪ISO/ANSI C++涓熀鏈被鍨嬩笌綾葷被鍨嬪畬鍏ㄤ笉鍚岋紝鑰屽湪C++/CLI涓紝鎵鏈夋暟鎹兘浠ョ被綾誨瀷鐨勫艦寮忓瓨鍌紝鍖呮嫭鍊肩被鍨嬶紙瀛樺偍鍦ㄥ爢鏍堜笂錛夊拰寮曠敤綾誨瀷錛堝瓨鍌ㄥ湪鍫嗕笂錛?縐嶃?
渚嬪瓙錛欶ruit CLR鎺у埗鍙伴」鐩?/u>
鍦╒isual Studio 2005涓垱寤篊LR Console Application欏圭洰錛岃緭鍏ュ悕縐癊x2_12錛屽皢鐢熸垚濡備笅鏂囦歡
// Ex2_12.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World"); return 0; } |
main鍑芥暟鍚庣殑鍙傛暟涓哄懡浠よ鍙傛暟銆傜劧鍚庢寜濡備笅鏂瑰紡鏀瑰啓浠g爜
// Ex2_12.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { int apples, oranges; int fruit;
apples = 5; oranges = 6; fruit = apples + oranges;
Console::WriteLine(L"\nOranges are not the only fruit ...");;;;;;; Console::Write(L"- and we have "); Console::Write(fruit); Console::Write(L" fruit in all.\n"); return 0; } |
鏂板姞琛岀敤綺椾綋瀛楁樉紺猴紝緙栬瘧鍚庢墽琛屽緱鍒板涓嬭緭鍑猴細
Oranges are not the only fruit…
- and we have 11 fuit in all.
渚嬪瓙璇存槑
涓嶪SO/ANSI C++鐗堟湰姣旇緝錛屽彉閲忕殑綾誨瀷int灝嗘垚涓篊++/CLI綾誨瀷System::Int32銆傚鏋滅敤System::Int32鏇挎崲浠g爜涓殑int錛岀劧鍚庨噸鏂扮紪璇戣繍琛岋紝緇撴灉灝嗘病鏈夊彉鍖栥?/em>
WriteLine()鍑芥暟涓篊++/CLI鍑芥暟錛屽畾涔夊湪System鍛藉悕絀洪棿鐨凜onsole綾諱腑銆侰onsole琛ㄧず鏍囧噯杈撳叆杈撳嚭嫻併俉rite()鍑芥暟涓鴻綾葷殑鍙︿竴涓緭鍑哄嚱鏁幫紝涓嶄細鑷姩鎹㈣銆備笅闈笓闂ㄨ璁篊++/CLI鐨勬帶鍒跺彴杈撳叆杈撳嚭銆?/em>
C++/CLI涓壒鏈夋帶鍒跺彴鏍煎紡鍖栬緭鍑哄姛鑳斤紝渚嬪鍙敤涓嬮潰鐨勪唬鐮佹潵杈撳嚭瀛楃涓蹭笌鍙橀噺娣峰悎鏂囨湰銆?
Console::WriteLine(L"There are {0} fruit.", fruit); |
Console::WriteLine()鐨勭涓涓弬鏁版槸L”There are {0} fruit.”錛屽叾涓瓄0}涓烘牸寮忓寲鍗犱綅絎︼紝琛ㄧず鍦ㄦ澶勬彃鍏ョ浜屼釜鍙傛暟鐨勫鹼紝濡傛灉鏈夋洿澶氶渶瑕佹彃鍏ョ殑鍙傛暟錛屽垯璇ュ弬鏁板搴旂殑鍗犱綅絎︾紪鍙風戶緇鍔狅細{1}銆亄2}銆亄3}…銆傚湪絎竴涓瓧絎︿覆鍙傛暟涓紝緙栧彿鐨勯『搴忓彲浠ラ鍊掞紝濡?
Console::WriteLine(L"There are {1} packages weighting {0} pounds", packageWeight, packageCount); |
鏍煎紡鍖栧崰浣嶇榪樺彲浠ユ帶鍒舵樉紺虹殑鏍煎紡錛屽{1:F2}琛ㄧず絎?涓弬鏁版樉紺烘垚鏈?浣嶅皬鏁扮殑嫻偣鏁幫紝鍐掑彿鍚庣殑涓烘牸寮忚鑼?
Console::WriteLine(L"There are {0} packages weighting {1錛欶2} pounds ", packageCount, packageWeight); |
杈撳嚭涓?
There are 25 packages weighting 7.50 pounds.
涓鑸鏉ワ紝鍙互緙栧啓鏍煎紡涓簕n,w:Axx}鐨勬牸寮忚鑼冿紝鍏朵腑n涓虹儲寮曞鹼紝鐢ㄤ簬閫夋嫨閫楀彿鍚庣殑絎嚑涓弬鏁幫紱 A涓哄崟涓瓧姣嶏紝琛ㄧず濡備綍瀵瑰彉閲忔牸寮忓寲錛泋x涓?涓垨2涓暟瀛楋紝鎸囧畾鍙傛暟鐨勭簿搴︼紱w涓烘湁絎﹀彿鏁存暟錛岃〃紺哄彲閫夌殑瀛楁瀹藉害鑼冨洿錛屽鏋渨涓?錛屽垯瀛楁鍙沖榻愶紝濡傛灉w涓?錛屽垯宸﹀榻愩傚鏋滄暟鍊肩殑浣嶇疆鏁板皬浜巜鎸囧畾鐨勪綅緗暟錛屽垯澶氬嚭鏉ョ殑鐢ㄧ┖鏍煎~鍏咃紝濡傛灉鏁板肩殑浣嶇疆鏁板ぇ浜巜鎸囧畾鐨勪綅緗暟錛屽垯蹇界暐w鐨勯檺瀹氾細
Console::WriteLine(L"Packages: {0,3} Weight: {1,5錛欶2} pounds ", packageCount, packageWeight); |
杈撳嚭涓猴紙涓嬪垝綰胯〃紺虹┖鏍煎~鍏呬綅錛夛細
Packages: _25 Weight: __7.50 pounds
鍙夌殑鏍煎紡璇存槑絎﹀琛?鎵紺?/font>
琛?
鏍煎紡璇存槑絎?/strong> |
璇?/strong> 鏄?/strong> |
C鎴朿 |
鎶婂間綔涓鴻揣甯侀噺杈撳嚭 |
D鎴杁 |
鎶婃暣鏁頒綔涓哄崄榪涘埗鍊艱緭鍑恒傚鏋滄寚瀹氱殑綺懼害澶т簬浣嶆暟錛屽垯鍦ㄦ暟鍊肩殑鍧愭爣濉厖0 |
E鎴杄 |
鎸夌収縐戝鎶鏈硶杈撳嚭嫻偣鍊?/font> |
F鎴杅 |
鎶婃誕鐐規暟浣滀負±####.##鐨勫畾鐐規暟杈撳嚭 |
G鎴杇 |
浠ユ渶绱у噾鐨勫艦寮忚緭鍑猴紝鍙栧喅浜庢槸鍚︽寚瀹氫簡綺懼害鍊鹼紝濡傛灉娌℃湁鍒欓傜敤榛樿綺懼害 |
N鎴杗 |
鎶婂間綔涓哄畾鐐瑰崄榪涘埗鍊艱緭鍑猴紝蹇呰鏃朵互3浣嶄竴緇勭敤閫楀彿鍒嗛殧 |
X鎴杧 |
鎶婃暣鏁頒綔涓哄崄鍏繘鍒跺艱緭鍑恒傛牴鎹甔鎴杧錛屼互澶у啓鎴栧皬鍐欒緭鍑恒?/font> |
渚嬪瓙錛氳綆楀湴姣環鏍鹼紝婕旂ずCLR鎺у埗鍙扮▼搴忕殑鏍煎紡鍖栬緭鍑?/em>
// Ex2_13.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { double carpetPriceSqYd = 27.95; double roomWidth = 13.5; // in feet double roomLength = 24.75; // in feet const int feetPerYard = 3; double roomWidthYard = roomWidth/feetPerYard; double roomLengthYard = roomLength/feetPerYard; double carpetPrice = roomWidthYard*roomLengthYard*carpetPriceSqYd;
Console::WriteLine(L"Room is {0:F2} yards by {1:F2} yards", roomWidthYard, roomLengthYard); Console::WriteLine(L"Room area is {0:F2} square yards", roomWidthYard*roomLengthYard); Console::WriteLine(L"Carpet price is ${0:F2}", carpetPrice); return 0; } |
渚嬪瓙璇存槑錛?/em>錛堢暐錛?/em>
.Net Framework鐨勬帶鍒跺彴閿洏杈撳叆鍔熻兘鏈夐檺錛屽彲浠ラ傜敤Console::ReadLine()鍑芥暟鎶婃暣琛岃緭鍏ヤ綔涓哄瓧絎︿覆璇誨彇錛屾垨鑰呬嬌鐢–onsole::Read()璇誨彇鍗曚釜瀛楃錛岃繕鍙互閫傜敤Console::ReadKey()璇誨彇鎸夐敭銆俁eadLine()鐨勪緥瀛愬涓嬶細
String^ line = Console::ReadLine(); |
鐢ㄤ簬灝嗘暣琛屾枃鏈瓨鍏ュ瓧絎︿覆涓紝鎸変笅Enter閿椂錛屾枃鏈粨鏉熴傚彉閲弆ine涓篠tring^鍨嬶紝琛ㄧずString鏁版嵁綾誨瀷鐨勫紩鐢紝line涓篊onsole::ReadLine()鍑芥暟璇誨叆瀛楃涓茬殑寮曠敤銆俁ead()鐨勪緥瀛愬涓嬶細
char ch = Console::Read(); |
鐢ㄤ簬閫愬瓧絎︾殑璇誨叆杈撳叆鏁版嵁錛屽茍灝嗗叾杞崲鎴愬搴旂殑鏁板瓧鍊箋俁eadKey鐨勪緥瀛愬涓嬶細
ConsoleKeyInfo keyPressed = Console::ReadKey(true); |
鐢ㄤ簬璇誨彇鎸夐敭鍊鹼紝騫惰繑鍥濩onsoleKeyInfo瀵硅薄錛岃涓哄璞″畾涔夊湪System鍛藉悕絀洪棿涓殑鍊肩被鍨嬨傚弬鏁皌rue琛ㄧず鎸夐敭涓嶅湪鍛戒護琛屼笂鏄劇ず鍑烘潵錛宖alse鍒欒〃紺烘樉紺烘寜閿洖鏄俱傛寜閿搴旂殑瀛楃鍙敤ConsoleKeyInfo瀵硅薄鐨凨eyChar寰楀埌銆?
Console::WriteLine(L”The key press corresponds to the character: {0}”, keyPress.KeyChar); |
鎸夐敭瀵瑰簲鐨勯敭鍊肩敱ConsoleKeyInfo瀵硅薄鐨凨ey寰楀埌銆?
灝界C++/CLI鎺у埗鍙扮▼搴忎腑涓嶈兘鏍煎紡鍖栬緭鍏ワ紝浣嗚緭鍏ヤ竴鑸兘閫氳繃紿楀彛緇勪歡寰楀埌錛屽洜姝よ繖浠呬粎鏄竴涓皬緙洪櫡銆?
鍦–LR鐜涓璼afe_cast鐢ㄤ簬鏄劇ず鐨勫己鍒剁被鍨嬭漿鎹€俿afe_cast鐢ㄤ簬灝嗕竴縐嶇被鍨嬭漿鎹負鍙︿竴縐嶇被鍨嬶紝鍦ㄤ笉鎴愬姛鏃惰兘澶熸姏鍑哄紓甯革紝鍥犳鍦–++/CLI涓嬌鐢╯afe_cast鏄瘮杈冨ソ鐨勯夋嫨銆傚叾鐢ㄦ硶鍜宻tatic_cast涓鏍鳳細
double value1 = 10.5; double value2 = 15.5; int whole_number = safe_cast<int>(value1) + safe_cast<int>(value2); |
C++/CLI鐨勬灇涓句笌ISO/ANSI C++鏈夎緝澶х殑鍖哄埆銆備笅渚嬩負C++/CLI涓殑涓涓灇涓劇被鍨嬶細
enum class Suit {Clubs, Diamonds, Hearts, Spades}; |
璇ヨ鍙ュ畾涔変簡涓涓灇涓劇被鍨婼uit錛岃綾誨瀷鐨勫彉閲忓彧鑳借璧嬪兼灇涓懼畾涔変腑鐨勫鹼紝涓斿繀欏葷敤鏋氫婦綾誨瀷鍚嶇О闄愬畾鏋氫婦甯告暟銆?
Suit suit = Suit::Diamonds; |
娉ㄦ剰class鍏抽敭瀛楄窡鍦╡num涔嬪悗銆傝鏄庤鏋氫婦綾誨瀷涓篊++/CLI錛岃鍏抽敭瀛楄繕琛ㄦ槑鍦ㄥ畾涔変腑瑙勫畾鐨勫父閲? Clubs\Diamonds\Hearts\Spades閮芥槸綾誨璞¤岄潪ISO/ANSI C++涓殑鍩烘湰綾誨瀷錛堟暣鍨嬶級鍊箋傚疄闄呬笂錛岄粯璁ゆ儏鍐典笅榪欎簺閮芥槸Int32綾誨瀷鐨勫璞°?
鐢變簬C++/CLI鏋氫婦瀹氫箟涓殑鍙橀噺閮芥槸綾誨璞★紝鍥犳涓嶈兘鍦ㄥ嚱鏁板唴閮ㄥ畾涔夈?/font>
渚嬪瓙
// Ex2_14.cpp : main project file. #include "stdafx.h" using namespace System; enum class Suit {Clubs, Diamonds, Hearts, Spades}; int main(array<System::String ^> ^args) { Suit suit = Suit::Clubs; int value = safe_cast<int>(suit);
Console::WriteLine(L"Suit is {0} and the value is {1}", suit, value); suit = Suit::Diamonds; value = safe_cast<int>(suit); Console::WriteLine(L"Suit is {0} and the value is {1}", suit, value); suit = Suit::Hearts; value = safe_cast<int>(suit); Console::WriteLine(L"Suit is {0} and the value is {1}", suit, value); suit = Suit::Spades; value = safe_cast<int>(suit); Console::WriteLine(L"Suit is {0} and the value is {1}", suit, value); return 0; } |
璇ヤ緥瀛愮殑杈撳嚭涓?/em>
Suit is Clubs and the value is 0
Suit is Diamonds and the value is 1
Suit is Hearts and the value is 2
Suit is Spades and the value is 3
渚嬪瓙璇存槑
1錛?Suit涓烘灇涓劇被鍨嬶紝涓嶈兘鍦ㄥ嚱鏁癿ain()鍐呴儴瀹氫箟錛屽洜姝ゅ彧鑳藉畾涔変負鍏ㄥ眬浣滅敤鍩熷唴銆?/em>
2錛?蹇呴』鐢ㄧ被鍨嬪悕縐癝uit闄愬畾鏋氫婦甯擱噺錛屽Suit::Clubs錛屽惁鍒欑紪璇戝櫒灝嗘棤娉曡瘑鍒?/em>
3錛?鍙橀噺suit鐨勫間負綾誨璞★紝瑕佽幏鍙栧叾鍊煎繀欏繪樉紺虹殑灝嗗叾杞崲鎴恑nt綾誨瀷銆?/em>
(涓錛夋寚瀹氭灇涓懼父閲忕殑綾誨瀷
鏋氫婦涓父閲忕殑綾誨瀷鍙互鏄笅琛ㄤ腑浠諱竴鍩烘湰綾誨瀷錛?
short |
int |
long |
long long |
signed char |
char |
unsigned short |
unsigned int |
unsigned long |
unsigned long long |
unsigned char |
bool |
瑕佹寚瀹氫竴涓灇涓懼父閲忕殑綾誨瀷錛屽彲浠ュ湪鏋氫婦綾誨瀷鍚嶇О涔嬪悗鍐欏叆甯擱噺綾誨瀷鍚嶇О錛堣鐢ㄥ啋鍙烽殧寮錛夛紝濡備笅渚嬫墍紺猴細
enum class Face:char { Ace,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King}; |
姝ゆ灇涓劇被鍨嬩腑鐨勫父閲忎負Char綾誨瀷錛屽搴旂殑鍩烘湰綾誨瀷涓篶har銆傚叾涓涓涓父閲忛粯璁ゆ儏鍐典笅瀵瑰簲浜庝唬鐮佸?錛屽悗闈㈢殑渚濇閫掑銆?
(浜?鎸囧畾鏋氫婦甯擱噺鐨勫?/font>
鍙互璧嬩簣鏋氫婦綾誨瀷瀹氫箟涓殑涓涓垨鍏ㄩ儴甯告暟瀵瑰簲鐨勫鹼紝濡?
enum class Face:char { Ace=1,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King}; |
榪欎嬌寰桝ce鑾峰緱1錛孴wo鑾峰緱2錛屽叾浣欎緷姝ょ被鎺紝鐩村埌King=13銆傚鏋滄兂璁〢ce鑾峰緱鏈澶у鹼紝鍒欏彲浠ュ涓嬪畾涔夛細
enum class Face:Char { Ace=14,Two=2,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King}; |