锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品久久久久中文字幕欢迎你,久久久美女艺术照精彩视频福利播放,欧美激情亚洲http://m.shnenglu.com/golq/archive/2009/07/09/89692.html鑻卞媷鐨勮繎鍗啗鑻卞媷鐨勮繎鍗啗Thu, 09 Jul 2009 14:33:00 GMThttp://m.shnenglu.com/golq/archive/2009/07/09/89692.htmlhttp://m.shnenglu.com/golq/comments/89692.htmlhttp://m.shnenglu.com/golq/archive/2009/07/09/89692.html#Feedback0http://m.shnenglu.com/golq/comments/commentRss/89692.htmlhttp://m.shnenglu.com/golq/services/trackbacks/89692.html C++/CLI涓嚱鏁扮殑宸ヤ綔鏂瑰紡涓嶪SO/ANSI C++瀹屽叏鐩稿悓錛屼絾鐢變簬鍦–++/CLI涓敤璺熻釜鍙ユ焺鍜岃窡韙紩鐢ㄦ浛浠d簡鏈湴鎸囬拡鍜屽紩鐢紝鍥犳涔熷甫鏉ヤ竴浜涘彉鍖栵紝涓昏鍖呮嫭

  • CLR紼嬪簭涓嚱鏁扮殑褰㈠弬涓庤繑鍥炲煎彲浠ユ槸鏁板肩被鍨嬨佽窡韙彞鏌勩佽窡韙紩鐢ㄥ拰鍐呴儴鎸囬拡銆?/div>
  • 濡傛灉鏌愪釜褰㈠弬鏄疌LR鏁扮粍錛岀▼搴忎笉闇瑕佸彟澶栫殑鍙傛暟鎸囧畾鍏跺ぇ灝忥紝鍥犱負鏁扮粍澶у皬鍦ㄥ睘鎬ength涓?/div>
  • 鍦–++/CLI紼嬪簭涓紝涓嶈兘鍍廋++涓鏍瘋繘琛屽湴鍧鐨勭畻鏈繍綆楋紝鑰屽簲浣跨敤鏁扮粍绱㈠紩銆傦紙鍐呴儴鎸囬拡涓嶆槸鍙互綆楁湳鎿嶄綔鍚楋紵錛?/div>
  • 鍙互鏂逛究鐨勮繑鍥濩LR鍫嗕笂鐨勫彞鏌勶紝鍥犱負CLR鏈夊瀮鍦懼洖鏀舵満鍒惰嚜鍔ㄦ竻鐞嗘棤鐢ㄧ殑鍐呭瓨銆?/div>
  • C++/CLI鍑芥暟鎺ユ敹鍙彉闀垮害鍙傛暟鐨勬満鍒朵笌鏈湴C++涓嶅悓銆?/div>
  • C++/CLI涓璵ain()鍑芥暟璁塊棶鍛戒護琛屽疄鍙傜殑鏈哄埗涓庢湰鍦癈++涓嶅悓銆?/div>

涓嬮潰灝辨渶鍚?鏉¤繘琛岃鏄庛?/p>

涓銆佹帴鏀跺彲鍙橀暱搴﹀弬鏁扮殑鍑芥暟

C++/CLI鍏佽灝嗗艦鍙傚垪琛ㄦ寚瀹氫負鏁扮粍錛屾暟緇勫0鏄庡墠闈㈠姞鐪佺暐鍙鳳紝浠庤屽疄鐜板疄鍙傜殑闀垮害鍙彉銆?/p>

int sum(...array<int>^ args)
{
	// Code for sum
}

涓婇潰鐨剆um()鍑芥暟鍙互鎺ユ敹浠繪剰鏁伴噺鐨勬暣鏁頒綔涓哄疄鍙傦紝鍦ㄥ嚱鏁板唴閮紝閫氳繃璁塊棶鏁扮粍args鐨勫厓绱犲氨鍙互瀹炵幇瀵瑰疄鍙傜殑澶勭悊錛屽疄鍙備釜鏁扮敱args鐨勫睘鎬ength寰楀埌銆備笅闈㈡槸涓涓畬鏁寸殑渚嬪瓙錛屾弿榪頒簡璇ユ満鍒剁殑宸ヤ綔榪囩▼銆?/p>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex5_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Ex5_15.cpp : main project file.
#include "stdafx.h"
using namespace System;

double sum(...array<double>^ args)
{
	double sum = 0.0;
	for each(double arg in args)
		sum += arg;
	return sum;
}

int main(array<System::String ^> ^args)
{
	Console::WriteLine( sum(2.0, 4.0, 6.0, 8.0, 10.0, 12.0) );
	Console::WriteLine( sum(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9) );
        return 0;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex5_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

杈撳嚭涓?/p>

42
49.5

浜屻乵ain()鐨勫疄鍙?/h1>

浠庡墠闈㈢殑渚嬪瓙鍙互鐪嬪嚭錛孋LR紼嬪簭涓璵ain()鍑芥暟浠呮湁涓涓艦鍙傦紝瀹冧負String^綾誨瀷鐨勬暟緇勶紝榪欏氨灝嗗鐞嗗懡浠よ瀹炲弬綆鍖栦負璁塊棶璇ユ暟緇勭殑鍏冪礌銆備笅闈㈢殑渚嬪瓙灞曠ず浜嗚繖涓敤娉曘?/p>

姝ゅ榪樺簲娉ㄦ剰錛?font color="#ffff00">涓庢湰鍦癈++涓璵ain()涓嶅悓錛屽懡浠よ鍙傛暟涓笉鍖呮嫭紼嬪簭鍚嶇О鏈韓銆?/font>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex5_16.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Ex5_16.cpp : main project file.
#include "stdafx.h"
using namespace System;

int main(array<System::String ^> ^args)
{
	Console::WriteLine(L"There were {0} command line arguments.", args->Length);
	Console::WriteLine(L"Command line arguments received are:");
	int i=1;
	for each(String^ str in args)
		Console::WriteLine(L"Argument {0}: {1}", i++, str);
    
	return 0;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex5_16.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
杈撳嚭涓?/pre>
D:\My Documents\My Projects\Ex5_16\Debug>ex5_16 tring multiple "arguments values
" 4.5 0.0
There were 5 command line arguments.
Command line arguments received are:
Argument 1: tring
Argument 2: multiple
Argument 3: arguments values
Argument 4: 4.5
Argument 5: 0.0


]]>C++/CLI瀛︿範鍏ラ棬(浜?:璺熻釜鍙ユ焺銆佽窡韙紩鐢ㄥ強鍐呴儴鎸囬拡http://m.shnenglu.com/golq/archive/2009/07/09/89682.html鑻卞媷鐨勮繎鍗啗鑻卞媷鐨勮繎鍗啗Thu, 09 Jul 2009 13:47:00 GMThttp://m.shnenglu.com/golq/archive/2009/07/09/89682.htmlhttp://m.shnenglu.com/golq/comments/89682.htmlhttp://m.shnenglu.com/golq/archive/2009/07/09/89682.html#Feedback0http://m.shnenglu.com/golq/comments/commentRss/89682.htmlhttp://m.shnenglu.com/golq/services/trackbacks/89682.html涓庢湰鍦癈++鑷繁緇存姢鍫嗕笉鍚岋紝C++/CLI涓姩鎬佸垎閰嶇殑鍐呭瓨鏄敱CLR鏉ョ淮鎶ょ殑銆傚綋涓嶉渶瑕佸爢鏃訛紝CLR鑷姩灝嗗叾鍒犻櫎鍥炴敹錛屽悓鏃禖LR榪樿兘鑷姩鍦板帇緙╁唴瀛樺爢浠ラ伩鍏嶄駭鐢熶笉蹇呰鐨勫唴瀛樼鐗囥傝繖縐嶆満鍒惰兘澶熼伩鍏?strong>鍐呭瓨娉勯湶鍜?strong>鍐呭瓨紕庣墖錛岃縐頒負鍨冨溇鍥炴敹錛岃岀敱CLR綆$悊鐨勮繖縐嶅爢琚О涓篊LR鍫嗐傚畠鐢辨搷浣滅gcnew鍒涘緩銆?/p>

鐢變簬鍨冨溇鍥炴敹鏈哄埗浼氭敼鍙樺爢涓璞$殑鍦板潃錛屽洜姝や笉鑳藉湪CLR鍫嗕腑浣跨敤鏅欳++鎸囬拡錛屽洜涓哄鏋滄寚閽堟寚鍚戠殑瀵硅薄鍦板潃鍙戠敓浜嗗彉鍖栵紝鍒欐寚閽堝皢涓嶅啀鏈夋晥銆備負浜嗚兘澶熷畨鍏ㄥ湴璁塊棶鍫嗗璞★紝CLR鎻愪緵浜嗚窡韙彞鏌勶紙綾諱技浜嶤++鎸囬拡錛夊拰璺熻釜寮曠敤錛堢被浼間簬C++錛夊紩鐢ㄣ?/p>

涓銆佽窡韙彞鏌?/h1>

璺熻釜鍙ユ焺綾諱技浜庢湰鍦癈++鎸囬拡錛屼絾鑳藉琚獵LR鍨冨溇鍥炴敹鍣ㄨ嚜鍔ㄦ洿鏂頒互鍙嶆槧琚窡韙璞$殑鏂板湴鍧銆傚悓鏃朵笉鍏佽瀵硅窡韙彞鏌勮繘琛屽湴鍧鐨勭畻鏈繍綆楋紝涔熶笉鑳藉榪涜寮哄埗綾誨瀷杞崲銆?/p>

鍑℃槸鍦–LR鍫嗕笂鍒涘緩鐨勫璞″繀欏昏璺熻釜鍙ユ焺寮曠敤錛岃繖浜涘璞″寘鎷細(1)鐢╣cnew鎿嶄綔絎︽樉紺哄垱寤哄湪鍫嗕笂鐨勫璞★紱(2)鎵鏈夌殑寮曠敤鏁版嵁綾誨瀷錛堟暟鍊肩被鍨嬮粯璁ゅ垎閰嶅湪鍫嗘爤涓婏級銆?strong>娉ㄦ剰錛氭墍鏈夊垎閰嶅湪鍫嗕笂鐨勫璞¢兘涓嶈兘鍦ㄥ叏灞鑼冨洿鍐呰鍒涘緩銆?/font>

鍏充簬璺熻釜鍙ユ焺鐨勭浉鍏充嬌鐢ㄦ柟娉曞弬瑙併?a href="http://m.shnenglu.com/golq/archive/2009/06/29/88733.html">C++/CLI瀛︿範鍏ラ棬(涓?:鏁扮粍銆?/p>

浜屻佽窡韙紩鐢?/h1>

璺熻釜寮曠敤綾諱技浜庢湰鍦癈++寮曠敤錛岃〃紺烘煇瀵硅薄鐨勫埆鍚嶃傚彲浠ョ粰鍫嗘爤涓婄殑鍊煎璞°丆LR鍫嗕笂鐨勮窡韙彞鏌勫垱寤鴻窡韙紩鐢ㄣ傝窡韙紩鐢ㄦ湰韜繪槸鍦ㄥ爢鏍堜笂鍒涘緩鐨勩傚鏋滃瀮鍦懼洖鏀剁Щ鍔ㄤ簡琚紩鐢ㄧ殑瀵硅薄錛屽垯璺熻釜寮曠敤灝嗚鑷姩鏇存柊銆?/p>

璺熻釜寮曠敤鐢?鏉ュ畾涔夛紝涓嬮潰鐨勪緥瀛愬垱寤轟簡涓涓鍫嗘爤涓婂煎璞$殑璺熻釜寮曠敤錛?/p>

int value = 10;
int% trackValue = value;

stackValue涓簐alue鍙橀噺鐨勫紩鐢紝鍙互鐢╯tackValue鏉ヨ闂畍alue錛?/p>

trackValue *= 5;
Console::WriteLine(value);	// Result is 50

涓夈佸唴閮ㄦ寚閽?/h1>

C++/CLI榪樻彁渚涗竴縐嶇敤鍏抽敭瀛梚nterior_ptr瀹氫箟鐨勫唴閮ㄦ寚閽堬紝瀹冨厑璁歌繘琛屽湴鍧鐨勭畻鏈搷浣溿傚繀瑕佹椂錛岃鎸囬拡鍐呭瓨鍌ㄧ殑鍦板潃浼氱敱CLR鍨冨溇鍥炴敹鑷姩鏇存柊銆傛敞鎰忥紝鍐呴儴鎸囬拡鎬繪槸鍑芥暟鐨勫眬閮ㄨ嚜鍔ㄥ彉閲忋?/p>

涓嬮潰鐨勪唬鐮佸畾涔変簡涓涓唴閮ㄦ寚閽堬紝瀹冨惈鏈夋煇鏁扮粍涓涓涓厓绱犵殑鍦板潃錛?/p>

array<double>^ data = {1.5, 3.5, 6.7, 4.2, 2.1};
interior_ptr<double> pstart = %data[0];

蹇呴』緇檌nterio_ptr鎸囧畾鍐呴儴鎸囬拡鎸囧悜鐨勫璞$被鍨嬨傛澶栬繕搴旇緇欐寚閽堣繘琛屽垵濮嬪寲錛屽鏋滀笉鎻愪緵鍒濆鍊鹼紝緋葷粺灝嗗叾榛樿鍒濆鍖栦負nullptr銆?/p>

鍐呴儴鎸囬拡鍦ㄦ寚瀹氱被鍨嬫椂搴旀敞鎰忥細鍙互鍖呭惈鍫嗘爤涓婂肩被鍨嬪璞$殑鍦板潃錛屼篃鍙互鍖呭惈鎸囧悜CLR鍫嗕笂鏌愬璞″彞鏌勭殑鍦板潃錛岃繕鍙互鏄湰鍦扮被瀵硅薄鎴栨湰鍦版寚閽堬紝浣?strong>涓嶈兘鏄疌LR鍫嗕笂鏁翠釜瀵硅薄鐨勫湴鍧銆備篃灝辨槸璇達紝鍙互浣跨敤鍐呴儴鎸囬拡瀛樺偍浣滀負CLR鍫嗕笂瀵硅薄緇勬垚閮ㄥ垎鐨勬暟鍊肩被瀵硅薄錛堝CLR鏁扮粍鍏冪礌錛夌殑鍦板潃錛屼篃鍙互瀛樺偍System::String瀵硅薄璺熻釜鍙ユ焺鐨勫湴鍧錛屼絾涓嶈兘瀛樺偍String瀵硅薄鏈韓鐨勫湴鍧銆?/p>

interior_ptr<String^> pstr1;	// OK -- pointer to a handle
interior_ptr<String>  pstr2;	// ERROR -- pointer to a String object

涓庢湰鍦癈++鎸囬拡涓鏍鳳紝鍐呴儴鎸囬拡鍙互榪涜綆楁湳璁$畻銆傚彲浠ラ氳繃閫掑鎴栭掑噺鏉ユ敼鍙樺叾鍖呭惈鐨勫湴鍧錛屼粠鑰屽紩鐢ㄥ悗闈㈡垨鍓嶉潰鐨勬暟鎹」錛涜繕鍙湪鍐呴儴鎸囬拡涓婂姞涓婃垨鍑忓幓鏌愪釜鏁存暟錛涘彲浠ユ瘮杈冨唴閮ㄦ寚閽堛備笅闈㈢殑渚嬪瓙灞曠ず浜嗗唴閮ㄦ寚閽堢殑鐢ㄦ硶錛?/p>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_19.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Ex4_19.cpp : main project file.
#include "stdafx.h"
using namespace System;

int main(array<System::String ^> ^args)
{
	array<double>^ data = {1.5, 3.5, 6.7, 4.2, 2.1};
	interior_ptr<double> pstart = &data[0];
	interior_ptr<double> pend = &data[data->Length - 1];
	double sum = 0;

	while(pstart<=pend)
		sum += *pstart++;

	Console::WriteLine(L"Total of data array elements = {0}\n", sum);

	array<String^>^ strings = { L"Land ahoy!",
		L"Splice the mainbrace!",
		L"Shiver me timbers!",
		L"Never throw into the wind!"
	};

	for(interior_ptr<String^> pstrings = &strings[0]; pstrings-&strings[0] < strings->Length; ++pstrings)
		Console::WriteLine(*pstrings);

    return 0;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_19.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

杈撳嚭涓?/p>

Total of data array elements = 18

Land ahoy!
Splice the mainbrace!
Shiver me timbers!
Never throw into the wind!


]]>C++/CLI瀛︿範鍏ラ棬(鍥?:瀛楃涓?/title><link>http://m.shnenglu.com/golq/archive/2009/07/07/89505.html</link><dc:creator>鑻卞媷鐨勮繎鍗啗</dc:creator><author>鑻卞媷鐨勮繎鍗啗</author><pubDate>Tue, 07 Jul 2009 15:39:00 GMT</pubDate><guid>http://m.shnenglu.com/golq/archive/2009/07/07/89505.html</guid><wfw:comment>http://m.shnenglu.com/golq/comments/89505.html</wfw:comment><comments>http://m.shnenglu.com/golq/archive/2009/07/07/89505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/golq/comments/commentRss/89505.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/golq/services/trackbacks/89505.html</trackback:ping><description><![CDATA[<p style="text-indent: 24pt">C++/CLI瀛楃涓詫紙Unicode瀛楃緇勬垚鐨勫瓧絎︿覆錛夋槸鎸囧湪System鍛藉悕絀洪棿涓畾涔夌殑String綾伙紝鍗崇敱System:Char綾誨瀷鐨勫瓧絎﹀簭鍒楃粍鎴愮殑瀛楃涓層傚畠鍖呭惈澶ч噺寮哄ぇ鐨勫姛鑳斤紝浣垮緱瀛楃涓茬殑澶勭悊闈炲父瀹規(guī)槗銆傚垱寤轟竴涓猄tring瀵硅薄鐨勬柟娉曞涓嬩緥鎵紺猴細</p><pre>System::String^ saying = L"<span style="color: #8b0000">Many hands make light work.</span>";</pre> <p style="text-indent: 24pt">璺熻釜鍙ユ焺saying鐢ㄤ簬璁塊棶String綾誨璞°傝瀵硅薄鐨勫瓧絎︿負瀹藉瓧絎︼紝鍥犱負閲囩敤浜嗗墠緙 鈥淟鈥濓紝濡傛灉鐪佺暐鈥淟鈥濓紝璇ュ瓧絎︿覆鐢?浣嶇殑瀛楃緇勬垚錛岀紪璇戝櫒灝嗙‘淇濆皢鍏惰漿鎹㈡垚瀹藉瓧絎︺?/p> <p style="text-indent: 24pt">璁塊棶瀛楃涓插唴瀛楃鍙互鍍忚闂暟緇勫厓绱犱竴鏍鳳紝浣跨敤绱㈠紩鏉ヨ闂紝棣栧瓧絎︾殑绱㈠紩涓?銆傝繖縐嶆柟娉曞彧鑳界敤浜庤鍙栧瓧絎︿覆鍐呭瓧絎︼紝浣嗕笉鑳界敤浜庝慨鏀瑰瓧絎︿覆鐨勫唴瀹廣?/p><pre>Console::WriteLine("<span style="color: #8b0000">The third character in the string is {0}</span>", saying[2]);</pre> <p style="text-indent: 24pt">鍒╃敤Length灞炴э紝鍙互鑾峰彇瀛楃涓插唴瀛楃鐨勬暟閲忥紙闀垮害錛夈?/p><pre>Console::WriteLine("<span style="color: #8b0000">The saying has {0} charactors.</span>", saying->Length);</pre> <h1>涓銆佽繛鎺ュ瓧絎︿覆</h1> <p style="text-indent: 24pt">鍒╃敤 鈥?鈥濆彲浠ヨ繛鎺ュ瓧絎︿覆錛屽艦鎴愭柊鐨勫瓧絎︿覆銆傛墽琛屼笅闈㈢殑渚嬪瓙涔嬪悗錛宯ame3灝嗗寘鍚瓧絎︿覆 鈥淏eth and Betty鈥濄?/p><pre>String^ name1 = L"<span style="color: #8b0000">Beth</span>"; String^ name2 = L"<span style="color: #8b0000">Betty</span>"; String^ name3 = name1+L"<span style="color: #8b0000"> and </span>"+name2;</pre> <p style="text-indent: 24pt">鈥?鈥濊繕鍙互鐢ㄦ潵榪炴帴瀛楃涓蹭笌鏁板箋乥ool鍊肩瓑闈炲瓧絎︿覆鍙橀噺錛屽湪榪炴帴涔嬪墠錛岃繖浜涘彉閲忓皢鑷姩鐨勮漿鎹㈡垚瀛楃涓層?/p><pre>String^ str = L"<span style="color: #8b0000">Value: </span>"; String^ str1 = str + 2.5; <span style="color: #008000">// str1 is "Value: 2.5"</span> String^ str2 = str + 25; <span style="color: #008000">// str2 is "Value: 25"</span> String^ str3 = str + <span style="color: #0000ff">true</span>; <span style="color: #008000">// str3 is "Value: True"</span></pre> <p style="text-indent: 24pt">鈥?鈥濊繕鍙互鐢ㄦ潵榪炴帴瀛楃涓蹭笌瀛楃錛屼絾瑕佹敞鎰忥紝<strong>緇撴灉瀛楃涓茬殑褰㈠紡鍙栧喅浜庡瓧絎︾殑綾誨瀷銆?/strong>榪欐槸鍥犱負char綾誨瀷鐨勫瓧絎﹁瑙嗕負鏁板鹼紝wchar_t涓嶴tring瀵硅薄鐨勫瓧絎﹀叿鏈夌浉鍚岀殑綾誨瀷錛圕har綾誨瀷錛夈?/p><pre><span style="color: #0000ff">char</span> ch = 'Z'; wchar_t wch = 'Z'; String^ str4 = str + ch; <span style="color: #008000">// str4 is "Value: 90"</span> String^ str5 = str + wch; <span style="color: #008000">// str5 is "Value: Z"</span></pre> <p style="text-indent: 24pt">String綾誨瀷瀹氫箟浜咼oin()鍑芥暟錛岀敤浜庡皢鏁扮粍涓殑澶氫釜瀛楃涓茶繛鎺ユ垚涓涓瓧絎︿覆錛屾暟緇勫厓绱犱箣闂寸敤鍒嗛殧絎﹂殧寮錛屽</p><pre>array<String^>^ names = {"<span style="color: #8b0000">Jill</span>", "<span style="color: #8b0000">Ted</span>", "<span style="color: #8b0000">Mary</span>", "<span style="color: #8b0000">Eve</span>", "<span style="color: #8b0000">Bill</span>"}; String^ seperator = "<span style="color: #8b0000"> and </span>"; String^ joined = String::Join(seperator, names); <span style="color: #008000">// joined is "Jill and Ted and Mary and Eve and Bill"</span></pre> <p style="text-indent: 24pt"><strong>鐗瑰埆娉ㄦ剰錛歋tring瀵硅薄鏄浐瀹氫笉鍙樼殑錛屼竴鏃﹀垱寤哄畬姣曞悗灝變笉鑳藉啀琚慨鏀逛簡銆傝繖鎰忓懗鐫鎵鏈夌殑瀛楃涓叉搷浣滈兘鏄湪鍒涘緩鏂扮殑瀛楃涓層?/strong></p> <p style="text-indent: 24pt">涓嬮潰鐨勪緥瀛愬皢鏁存暟鏁扮粍鍐呯殑鍏冪礌鎸夊垪鏁撮綈鍦拌緭鍑恒?/p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:332fa510-2da2-4c81-9825-3ceed863ae66" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_17.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre><span style="color: #008000">// Ex4_17.cpp : main project file.</span> #include "<span style="color: #8b0000">stdafx.h</span>" <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> System; <span style="color: #0000ff">int</span> main(array<System::String ^> ^args) { array<<span style="color: #0000ff">int</span>>^ values = { 2, 456, 23, -46, 34211, 456, 5609, 112098, 234, -76504, 341, 6788, -909121, 99, 10 }; String^ formatStr1 = "<span style="color: #8b0000">{0, </span>"; String^ formatStr2 = "<span style="color: #8b0000">}</span>"; String^ number; <span style="color: #0000ff">int</span> maxLength = 0; <span style="color: #0000ff">for</span> each(<span style="color: #0000ff">int</span> value in values) { number = "<span style="color: #8b0000"></span>"+value; <span style="color: #0000ff">if</span>(maxLength<number->Length) maxLength = number->Length; } String^ format = formatStr1+(maxLength+1)+formatStr2; <span style="color: #0000ff">int</span> numberPerLine = 3; <span style="color: #0000ff">for</span>(<span style="color: #0000ff">int</span> i=0; i<values->Length; i++) { Console::Write(format, values[i]); <span style="color: #0000ff">if</span>((i+1)%numberPerLine == 0) Console::WriteLine(); } }</pre> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:39eaa58f-a5cc-4e1c-8310-d9c2137a5022" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_17.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div> <p style="text-indent: 24pt">杈撳嚭涓?/p><pre> 2 456 23 -46 34211 456 5609 112098 234 -76504 341 6788 -909121 99 10</pre> <h1>浜屻佷慨鏀瑰瓧絎︿覆</h1> <p style="text-indent: 24pt">Trim()鍑芥暟鐢ㄤ簬鍒犻櫎瀛楃涓插ご閮ㄥ拰灝鵑儴鐨勭┖鏍箋備笉甯﹀弬鏁拌皟鐢ㄨ鍑芥暟灝嗗垹闄ゅ瓧絎︿覆澶淬佸熬閮ㄧ殑鍏ㄩ儴絀烘牸騫惰繑鍥炰竴鏂板瓧絎︿覆銆?/p><pre>String^ str = {"<span style="color: #8b0000"> Handsome is as handsome does... </span>"}; String^ newStr = str->Trim();</pre> <p style="text-indent: 24pt">涔熷彲浼犻掔粰Trim()鍑芥暟瀛楃鏁扮粍浣滀負鍙傛暟錛屽瓧絎︿覆灝?strong>浠庡ご閮ㄥ拰灝鵑儴寮濮?/strong>鍒犻櫎鏁扮粍涓殑瀛楃銆傚鏋滃瓧絎﹀嚭鐜板湪瀛楃涓蹭腑闂達紝鍒欎笉浼氳鍒犻櫎銆?/p><pre>String^ toBeTrimed = L"<span style="color: #8b0000">wool wool sheep sheep wool wool wool</span>"; array<wchar_t>^ notWanted = {L'w', L'o', L'l', L' ' }; Console::WriteLine(toBeTrimed->Trim(notWanted));</pre> <p style="text-indent: 24pt">涓婇潰鐨勮鍙ュ皢杈撳嚭<br>sheep sheep</p> <p style="text-indent: 24pt">濡傛灉鍦ㄤ笂闈㈢殑璇彞涓病鏈夊姞鍓嶇紑鈥滾鈥滐紝鍒欏瓧絎︿負char綾誨瀷錛屽搴斾簬System::SByte綾誨瀷銆備笉榪囩紪璇戝櫒灝嗚嚜鍔ㄥ湴灝嗗叾杞崲鎴恮char_t綾誨瀷錛堝嵆System::Char綾誨瀷錛夈?/p> <p style="text-indent: 24pt">Trim()鍑芥暟涔熸敮鎸佺洿鎺ヨ緭鍏ヨ鍒犻櫎鐨勫瓧絎﹀垪琛紝涓嬮潰鐨勮鍙ュ皢浜х敓鍚屾牱鐨勮緭鍑?/p><pre>Console::WriteLine(toBeTrimed->Trim(L'w', L'o', L'l', L' '));</pre> <p style="text-indent: 24pt">濡傛灉浠呬粎鎯寵鍒犻櫎澶撮儴鎴栬呭熬閮ㄤ腑鐨勪竴绔紝鍙互浣跨敤TrimStart鎴栬匱rimEnd鍑芥暟銆?/p> <p style="text-indent: 24pt">濡傛灉瑕佸湪瀛楃涓茬殑涓绔~鍏呯┖鏍兼垨鍏跺畠瀛楃錛堣繖涓鑸敤浜庝互鍥哄畾瀹藉害闈犲乏鎴栭潬鍙沖榻愯緭鍑烘枃鏈級錛屽彲浣跨敤PadLeft()鍜孭adRight()鍑芥暟銆傚鏋滃瓧絎︿覆闀垮害澶т簬鎸囧畾鐨勯暱搴﹀弬鏁幫紝鍒欒繑鍥炲瓧絎︿覆涓洪暱搴︾瓑浜庡師鏉ュ瓧絎︿覆鐨勬柊瀛楃涓層?/p><pre>String^ value = L"<span style="color: #8b0000">3.142</span>"; String^ leftPadded = value->PadLeft(10); <span style="color: #008000">// Result is " 3.142"</span> String^ rightPadded = value->PadRight(10); <span style="color: #008000">// Result is "3.142 "</span> String^ leftPadded2 = value->PadLeft(10, L'*'); <span style="color: #008000">// Result is "*****3.142"</span> String^ rightPadded2= value->PadRight(10,L'#'); <span style="color: #008000">// Result is "3.142#####"</span></pre> <p style="text-indent: 24pt">濡傛灉闇瑕佸皢瀛楃涓茶漿鎹㈡垚澶у啓鎴栧皬鍐欙紝鍙嬌鐢═oUpper()鎴朤oLower鍑芥暟銆?/p><pre>String^ proverb = L"<span style="color: #8b0000">Many hands make light work.</span>" String^ upper = proverb->ToUpper(); <span style="color: #008000">// Result is "MANY HANDS MAKE LIGHT WORK."</span></pre> <p style="text-indent: 24pt">濡傛灉闇瑕佸湪瀛楃涓蹭腑闂存彃鍏ヤ竴涓瓧絎︿覆錛屽彲浣跨敤Insert()鍑芥暟錛岀涓涓弬鏁版寚瀹氳搗濮嬩綅緗殑绱㈠紩錛岀浜屼釜鍙傛暟鎸囧畾瑕佹彃鍏ョ殑瀛楃涓層?/p><pre>String^ proverb = L"<span style="color: #8b0000">Many hands light work.</span>"; String^ newProverb = proverb->Insert(5, "<span style="color: #8b0000">deck </span>");</pre> <p style="text-indent: 24pt">緇撴灉鏄?/p><pre>Many deck hands make light work.</pre> <p style="text-indent: 24pt">濡傛灉瑕佺敤鍙︿竴涓瓧絎︽浛鎹㈠瓧絎︿覆涓寚瀹氱殑瀛楃錛屾垨鑰呯敤鍙︿竴涓瓙涓叉浛鎹㈠瓧絎︿覆涓粰瀹氱殑瀛愪覆錛屽彲浣跨敤Replace()鍑芥暟銆?/p><pre>String^ proverb = L"<span style="color: #8b0000">Many hands make light work.</span>" Console::WriteLine(proverb->Replace(L' ', L'*'); Console::WriteLine(proverb->Replace(L"<span style="color: #8b0000">Many hands</span>", L"<span style="color: #8b0000">Press switch</span>");</pre> <p style="text-indent: 24pt">杈撳嚭涓?/p><pre>Many*hands*make*light*work. Pressing switch make light work.</pre> <h1>涓夈佹悳绱㈠瓧絎︿覆</h1> <p style="text-indent: 24pt">濡傛灉闇瑕佹祴璇曞瓧絎︿覆鏄惁浠ョ粰瀹氱殑瀛愪覆寮濮嬫垨緇撴潫錛屽彲浣跨敤StartWith()鎴朎ndWith()鍑芥暟銆傝瀵繪壘鐨勫瓙涓插彞鏌勪綔涓哄弬鏁頒紶閫掔粰鍑芥暟錛岃繑鍥瀊ool鍊箋?/p><pre>String^ snetence = L"<span style="color: #8b0000">Hide, the cow's outside.</span>"; <span style="color: #0000ff">if</span>(sentence->StartWith(L"<span style="color: #8b0000">Hide</span>")) Console::WriteLine("<span style="color: #8b0000">The sentence starts with 'Hide'.</span>");</pre> <p style="text-indent: 24pt">IndexOf()鍑芥暟鐢ㄤ簬榪斿洖緇欏畾瀛楃鎴栧瓙涓插湪瀛楃涓蹭腑鎵懼埌鐨勭涓涓疄渚嬬儲寮曪紝濡傛灉鏈壘鍒幫紝鍒欒繑鍥?1銆?/p><pre>String^ sentence = L"<span style="color: #8b0000">Hide, the cow's outside.</span>"; <span style="color: #0000ff">int</span> ePosition = sentence->IndexOf(L'e'); <span style="color: #008000">// Return 3</span> <span style="color: #0000ff">int</span> thePosition = sentence->IndexOf(L"<span style="color: #8b0000">the</span>"); <span style="color: #008000">// Retuen 6</span></pre> <p style="text-indent: 24pt">涔熷彲浠ユ寚瀹欼ndexOf鎼滅儲鐨勮搗濮嬬儲寮曪紝榪欎竴鑸敤浜庨亶鍘嗘暣涓瓧絎︿覆鎵懼嚭鎵鏈夌殑瀹炰緥錛屽涓嬮潰鐨勪緥瀛愶細</p><pre><span style="color: #0000ff">int</span> index = 0; <span style="color: #0000ff">int</span> count = 0; <span style="color: #0000ff">while</span>((index=words->IndexOf(word, index))>=0) { index += word->Length; count++; } Console::WriteLine(L"<span style="color: #8b0000">'{0}' was found {1} times in: {2}</span>", word, count, words);</pre> <p style="text-indent: 24pt">LastIndexOf()鍑芥暟綾諱技浜嶪ndexOf()鍑芥暟錛屼笉榪囧畠鐢ㄤ簬浠庡瓧絎︿覆灝鵑儴鎴栨寚瀹氱儲寮曚綅緗紑濮嬶紝鍊掔潃鍚戝ご閮ㄦ悳绱€傛敞鎰忥細濡傛灉浠庡熬閮ㄥ紑濮嬬殑绱㈠紩鍊兼槸words->Lenght-1銆?/p> <p style="text-indent: 24pt">濡傛灉瑕佹悳绱竴涓瓧絎︿覆鏁扮粍涓換鎰忓厓绱犲嚭鐜板湪瀛楃涓蹭腑鐨勪綅緗紝鍙互浣跨敤IndexOfAny()鍑芥暟銆傚悓鏍鳳紝瀹冧篃鏈夊掑簭鎼滅儲鐨勭増鏈?涓嬮潰鐨勪緥瀛愯鏄庝簡IndexOfAny()鐨勭敤娉曘備笅闈㈢殑渚嬪瓙鐢ㄤ簬鎼滅儲瀛楃涓蹭腑鐨勬爣鐐圭鍙?/p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9d340c6c-5d14-43db-bb93-9712e07b5d52" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_18.CPP] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre><span style="color: #008000">// Ex4_18.cpp : main project file.</span> #include "<span style="color: #8b0000">stdafx.h</span>" <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> System; <span style="color: #0000ff">int</span> main(array<System::String ^> ^args) { array<wchar_t>^ punctuation = {L'"<span style="color: #8b0000">', L'\'', L'.', L',', L':',L'!', L'?'};</span> String^ sentence = L"<span style="color: #8b0000">\"It's chilly in here\", the boy 's mother said coldly.</span>"; array<wchar_t>^ indicators = gcnew array<wchar_t>(sentence->Length){L' '}; <span style="color: #0000ff">int</span> index = 0; <span style="color: #0000ff">int</span> count = 0; <span style="color: #0000ff">while</span>((index=sentence->IndexOfAny(punctuation, index))>=0) { indicators[index] = L'^'; ++index; ++count; } Console::WriteLine(L"<span style="color: #8b0000">There are {0} punctuation charactors in the string:</span>", count); Console::WriteLine(L"<span style="color: #8b0000">\n{0}\n{1}</span>", sentence, gcnew String(indicators)); <span style="color: #0000ff">return</span> 0; } </pre> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c049a6cc-7ef0-44ea-823d-93e4485dc7e2" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_18.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre> <u><em>杈撳嚭涓?/em></u></pre><pre>There are 6 punctuation charactors in the <span style="color: #0000ff">string</span>: "<span style="color: #8b0000">It's chilly in here</span>", the boy 's mother said coldly. ^ ^ ^^ ^ ^</pre><img src ="http://m.shnenglu.com/golq/aggbug/89505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/golq/" target="_blank">鑻卞媷鐨勮繎鍗啗</a> 2009-07-07 23:39 <a href="http://m.shnenglu.com/golq/archive/2009/07/07/89505.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++/CLI瀛︿範鍏ラ棬(涓?:鏁扮粍http://m.shnenglu.com/golq/archive/2009/06/29/88733.html鑻卞媷鐨勮繎鍗啗鑻卞媷鐨勮繎鍗啗Sun, 28 Jun 2009 17:34:00 GMThttp://m.shnenglu.com/golq/archive/2009/06/29/88733.htmlhttp://m.shnenglu.com/golq/comments/88733.htmlhttp://m.shnenglu.com/golq/archive/2009/06/29/88733.html#Feedback0http://m.shnenglu.com/golq/comments/commentRss/88733.htmlhttp://m.shnenglu.com/golq/services/trackbacks/88733.html瑕佸涔犳暟緇勶紝蹇呴』鍏堜簡瑙h窡韙彞鏌勩?/p>

涓銆佽窡韙彞鏌?/h1>

璺熻釜鍙ユ焺綾諱技浜庢湰鍦癈++鎸囬拡錛屼絾涔熸湁寰堝ぇ鍖哄埆銆傝窡韙彞鏌勭‘瀹炲瓨鍌ㄧ潃鏌愪釜瀵硅薄鐨勫湴鍧錛屼絾褰揅LR鍘嬬緝鍫嗚繃紼嬩腑鏀瑰彉浜嗚瀵硅薄鐨勫湴鍧錛屽垯鍨冨溇鍥炴敹鍣ㄨ嚜鍔ㄦ洿鏂板彞鏌勬墍鍖呭惈鐨勫湴鍧銆傛垜浠笉鑳藉儚鏈湴鎸囬拡閭f牱鐢ㄨ窡韙彞鏌勬潵鎵ц鍦板潃鐨勭畻鏈繍綆楋紝涔熶笉鍏佽瀵硅窡韙彞鏌勮繘琛屽己鍒剁被鍨嬭漿鎹€?

鍦–LR鍫嗕腑鍒涘緩鐨勫璞″繀欏昏璺熻釜鍙ユ焺寮曠敤銆傛墍鏈夊睘浜庡紩鐢ㄧ被鍨嬬殑瀵硅薄閮藉瓨鍌ㄥ湪鍫嗕腑錛屽洜姝や負寮曠敤榪欎簺瀵硅薄鎵鍒涘緩鐨勫彉閲忛兘蹇呴』鏄窡韙彞鏌勩備緥濡傦紝String綾誨瀷鏄紩鐢ㄧ被鍨嬶紝鍥犳寮曠敤String瀵硅薄鐨勫彉閲忓繀欏繪槸璺熻釜鍙ユ焺銆傚肩被鍨嬮粯璁ゅ垎閰嶅湪鍫嗘爤涓婏紝浣嗕篃鍙互鐢╣cnew鎿嶄綔絎﹀皢鍏跺瓨鍌ㄥ湪鍫嗕笂銆傛澶栧繀欏繪敞鎰忥紝鍦ㄥ爢涓婂垎閰嶇殑鍙橀噺鈥斺斿叾涓寘鎷墍鏈塁LR寮曠敤綾誨瀷鈥斺旈兘涓嶈兘鍦ㄥ叏灞浣滅敤鍩熷唴澹版槑銆?

閫氳繃鍦ㄧ被鍨嬪悕縐板悗鍔犫漗鈥濈鍙鳳紝鐢ㄤ簬澹版槑涓涓綾誨瀷鐨勫彞鏌勩備笅闈㈢殑渚嬪瓙澹版槑浜嗕竴涓猄tring綾誨瀷鐨勮窡韙彞鏌刾roverb銆?

String^ proverb;

鍦ㄥ0鏄庢椂鍙ユ焺鏃訛紝緋葷粺鑷姩涓哄叾鍒嗛厤涓涓┖鍊鹼紝璇ュ彞鏌勪笉寮曠敤浠諱綍瀵硅薄銆備篃鍙樉紺哄湴灝嗘煇涓彞鏌勭疆涓虹┖鍊?

proverb = nullptr;

娉ㄦ剰涓嶈兘鐢?鏉ヨ〃紺虹┖鍊箋傚鏋滅敤0鏉ュ垵濮嬪寲鏌愪釜鍙ユ焺錛屽垯0灝嗚嚜鍔ㄨ漿鎹負琚紩鐢ㄧ被鍨嬬殑瀵硅薄錛岃屽彞鏌勫垯鎸囧悜璇ュ璞°傚彲浠ュ湪澹版槑鍙ユ焺鏃舵樉紺虹殑灝嗗叾鍒濆鍖栵細

String^ saying = L"I used to think I was indecisive but now I??隆錨隆貓m not so sure."; 

璇ヨ鍙ラ鍏堝湪鍫嗕笂鍒涘緩涓涓寘鍚瓑鍙峰彸杈瑰瓧絎︿覆鐨凷tring瀵硅薄錛岀劧鍚庡皢璇ュ璞$殑鍦板潃瀛樺叆saying涓傛敞鎰忓瓧絎︿覆瀛楅潰鍊肩殑綾誨瀷涓篶onst wchar_t*鑰岄潪String銆傜被String鎻愪緵浜嗚繖鏍風殑鏂規(guī)硶浣垮緱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; 

浜屻佹暟緇?/h1>

(涓)鏁扮粍鍙ユ焺

       CLR鏁扮粍鏄垎閰嶅湪鍙洖鏀跺瀮鍦懼爢涓婄殑銆傚繀欏葷敤array<typename>鎸囧嚭瑕佸垱寤虹殑鏁扮粍錛屽悓鍏跺畠CLR鍫嗕笂鐨勫璞′竴鏍鳳紝闇瑕佺敤鍙ユ焺鏉ヨ闂畠錛屼緥瀛愬涓嬶細

array<int>^ data;

      鏁扮粍鍙ユ焺data鍙敤浜庡瓨鍌ㄥ鍏冪礌綾誨瀷涓篿nt鐨勪竴緇存暟緇勭殑寮曠敤銆備笅闈㈢殑渚嬪瓙澹版槑浜嗕竴涓彞鏌勶紝騫舵柊寤轟竴涓狢LR鏁扮粍鏉ュ姝ゅ彞鏌勫垵濮嬪寲銆?/p>

array<int>^ data = gcnew array<int>(100); 

       鍜屾湰鍦癈++鏁扮粍涓鏍鳳紝CLR鏁扮粍涓厓绱犵殑绱㈠紩鍊間篃鏄粠0寮濮嬬殑錛屽彲浠ラ氳繃[ ]璁塊棶鏁扮粍鍏冪礌銆傛暟緇勫厓绱犻兘鏄疌LR瀵硅薄錛屽湪涓婇潰鐨勪緥瀛愪腑鏁扮粍鍏冪礌涓篒nt32鍨嬪璞★紝瀹冧滑鍦ㄧ畻鏈〃杈懼紡涓氨鍍忔櫘閫氱殑鏁存暟綾誨瀷涓鏍楓?

       Length灞炴ф槸鏁扮粍鐨勪竴涓噸瑕佸睘鎬э紝璁板綍鐫鏁扮粍鍏冪礌鐨勬暟閲忋備繚瀛樹簡64浣嶇殑鏁扮粍闀垮害銆?

for(int i=0; i<data->Length; i++)
	data[i] = 2*(i+1);

鍙互鐢╢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()瀵規(guī)暟緇勪腑鐨勮繛緇暟緇勫厓绱犳竻闆躲?

Array::Clear(samples, 0, samples->Length);

       Clear()鍑芥暟鐨勭涓涓弬鏁版槸琚竻闆剁殑鏁扮粍錛岀浜屼釜鍙傛暟鏄娓呴櫎鍦扮涓涓厓绱犵殑绱㈠紩錛岀涓変釜鍙傛暟涓鴻娓呴櫎鍦板厓绱犳暟閲忋傚洜姝や笂榪拌鍙ュ皢samples鏁扮粍鐨勬墍鏈夊厓绱犻兘緗負0銆傚鏋淐lear()娓呴櫎鐨勬槸鏌愪釜璺熻釜鍙ユ焺錛屽垯鍙ユ焺鎵瀵瑰簲鐨勫厓绱犻兘琚簲鐢–lear()鍑芥暟銆傚鏋滃厓绱犱負bool鍨嬶紝鍒欒緗負false銆?

(浜?鏁扮粍鎺掑簭

Array綾昏繕瀹氫箟浜嗕竴涓猄ort()闈欐佸嚱鏁幫紝鍙敤浜庡鏁扮粍榪涜鎺掑簭銆傚鏋滀互鏁扮粍鍙ユ焺浣滀負鍙傛暟錛屽垯瀵規(guī)暣涓暟緇勬帓搴忋傚鏋滆瀵規(guī)暟緇勯儴鍒嗘帓搴忥紝鍒欒繕闇瑕佸鍔犲厓绱犺搗濮嬬儲寮曞強鏁伴噺錛屽涓嬩緥

array<int>^ samples = {27, 3, 54, 11, 18, 2, 16};
Array::Sort(samples, 2, 3);

鎺掑簭鍚庢暟緇勫厓绱犲彉涓簕27, 3, 11, 18, 54, 2, 16}

Sort鍑芥暟榪樻湁寰堝鍏跺畠鐗堟湰錛屼笅闈㈢殑渚嬪瓙灞曠ず浜嗗浣曟帓搴忎袱涓浉鍏崇殑鏁扮粍錛屽嵆絎竴涓暟緇勪腑鐨勫厓绱犳槸絎簩涓暟緇勫搴斿厓绱犵殑閿傚絎竴涓暟緇勬帓搴忓悗錛屽彲瀵圭浜屼釜鏁扮粍榪涜鐩稿簲鐨勮皟鏁達紝浣垮緱閿笌鍊肩浉浜掑搴斻?/p>

Sort()鍑芥暟瀵?涓暟緇勬帓搴忔椂錛岀敤絎竴涓暟緇勫弬鏁版潵紜畾涓や釜鏁扮粍鐨勯『搴忥紝浠ユ淇濇寔2涓暟緇勫厓绱犲搴斿叧緋諱笉鍙樸?/p>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_13.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_13.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
杈撳嚭涓猴細 
Al Bill Eve Jill Mary Ted 
176 180 115 103 128 168 

(涓?鏁扮粍鎼滅儲

Array綾昏繕鎻愪緵浜嗗嚱鏁癇inarySearch()浠ヤ嬌鐢ㄥ鍒嗘硶鎼滅儲綆楁硶錛屽涓緇存暟緇勬垨緇欏畾鑼冨洿鍐呮悳绱㈢壒瀹氬厓绱犵殑绱㈠紩浣嶇疆銆備嬌鐢ㄨ鍑芥暟瑕佹眰鏁扮粍蹇呴』鏄『搴忔帓鍒楃殑錛屽洜姝ゅ湪鎼滅儲涔嬪墠蹇呴』瀵規(guī)暟緇勮繘琛屾帓搴忋?/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涓槸瑕佹悳绱㈢殑鍐呭銆備笅闈㈢殑浠g爜浠庣4涓厓绱犲紑濮嬶紝涓鐩存悳绱㈠埌緇撴潫浣嶇疆銆?/p>

array<int>^ value = { 23, 45, 68, 94, 123, 150, 203, 299 };
int toBeFound = 127;
int position = Array::BinarySearch(value, 3, 6, toBeFound);    
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_14.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_14.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

        褰撴悳绱笉鍒扮洰鏍囨椂錛孉rray::BinarySearch()鍑芥暟杈撳嚭鐨勫茍闈炰換鎰忚礋鏁幫紝鑰屾槸絎竴涓ぇ浜庤鐩爣鐨勫厓绱犵儲寮曞肩殑鎸変綅琛ョ爜銆傚埄鐢ㄨ鏂規(guī)硶錛屽彲浠ヤ笉鎵撲貢欏哄簭鍦ㄦ暟緇勪腑鎻掑叆鏂板箋傚錛屾垜浠笇鏈涙彃鍏モ滷red鈥濆埌names鏁扮粍涓?/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鏁扮粍銆?

(鍥?澶氱淮鏁扮粍

C++/CLI涓彲浠ュ垱寤哄緇存暟緇勶紝鏈澶х淮鏁?2緇淬備笌ISO/ANSI C++涓嶅悓鐨勬槸錛孋++/CLI涓殑澶氱淮鏁扮粍騫墮潪鏁扮粍鐨勬暟緇勶紝鑰屾槸鐪熸鐨勫緇存暟緇勶紝鍒涘緩鏁存暟澶氱淮鏁扮粍鏂規(guī)硶濡備笅錛?/p>

array<int 2>^ value = gcnew array<int, 2>(4, 5);

涓婇潰鐨勪唬鐮佸垱寤轟簡涓涓簩緇存暟緇勶紝鍥涜浜斿垪錛屽叡20涓厓绱犮傝闂殑鏂規(guī)硶鏄埄鐢ㄥ涓敤閫楀彿鍒嗛殧鐨勭儲寮曞兼潵璁塊棶姣忎竴涓厓绱狅紝鑰屼笉鑳界敤涓涓儲寮曞艱闂竴琛?/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涓篃鍙互瀹氫箟鏁扮粍鐨勬暟緇勶紝鏂規(guī)硶瑙佷笅渚?/p>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex4_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

涓婇潰鐨勪緥瀛愬垱寤轟簡涓涓?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箞灝卞彲浠ュ垱寤烘暟緇勭殑鏁扮粍銆傚悓鏃訛紝姣忎竴緇存暟緇勭殑闀垮害鍙互涓嶅悓錛屽嵆鎵璋撶殑鈥滈敮榻垮艦鏁扮粍鈥濄備緥濡傦紝鐢ˋ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] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex4_16.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

杈撳嚭涓?/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


]]>C++/CLI瀛︿範鍏ラ棬(浜?:鎺у埗涓庡驚鐜?/title><link>http://m.shnenglu.com/golq/archive/2009/06/27/88645.html</link><dc:creator>鑻卞媷鐨勮繎鍗啗</dc:creator><author>鑻卞媷鐨勮繎鍗啗</author><pubDate>Sat, 27 Jun 2009 08:46:00 GMT</pubDate><guid>http://m.shnenglu.com/golq/archive/2009/06/27/88645.html</guid><wfw:comment>http://m.shnenglu.com/golq/comments/88645.html</wfw:comment><comments>http://m.shnenglu.com/golq/archive/2009/06/27/88645.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/golq/comments/commentRss/88645.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/golq/services/trackbacks/88645.html</trackback:ping><description><![CDATA[<h1>涓銆佸熀鏈帶鍒剁粨鏋?/h1> <p style="text-indent: 24pt">ISO/ANSI C++涓殑鎺у埗涓庡驚鐜叏閮ㄩ傜敤浜嶤++/CLI銆備笅渚嬪睍紺轟簡C++/CLI鎺у埗鍙扮▼搴忎腑鐨勬帶鍒跺驚鐜細</p> <h2><em><u>渚嬪瓙錛氬熀鏈驚鐜帶鍒?/u></em></h2> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:51a1b54f-086a-48f2-b1f6-4ee9a7947e98" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex3_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre><span style="color: #008000">// Ex3_15.cpp : main project file.</span> #include "<span style="color: #8b0000">stdafx.h</span>" <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> System; <span style="color: #0000ff">int</span> main(array<System::String ^> ^args) { wchar_t letter; Console::Write(L"<span style="color: #8b0000">Enter a letter:</span>"); letter = Console::Read(); <span style="color: #0000ff">if</span>(letter>='A') <span style="color: #0000ff">if</span>(letter<='Z') { Console::WriteLine(L"<span style="color: #8b0000">You entered a captial letter.</span>"); <span style="color: #0000ff">return</span> 0; } <span style="color: #0000ff">if</span>(letter>='a') <span style="color: #0000ff">if</span>(letter<='z') { Console::WriteLine(L"<span style="color: #8b0000">You entered a small letter.</span>"); <span style="color: #0000ff">return</span> 0; } Console::WriteLine(L"<span style="color: #8b0000">You did not enter a letter.</span>"); <span style="color: #0000ff">return</span> 0; }</pre> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4fbddd37-75c5-4813-8c7b-a1940ab131d0" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex3_15.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div> <p style="text-indent: 24pt"> letter琚0鏄庝負wchar_t綾誨瀷錛屾槧灝勪負C++/CLI涓殑System::Char綾誨瀷錛屽畠鍏鋒湁涓浜涚壒孌婄殑鍔熻兘錛屽叾涓寘鎷皢瀛楃浠g爜杞崲涓哄ぇ鍐欏拰灝忓啓鐨勫嚱鏁幫細Char::ToUpper錛堬級鍜孋har::ToLower()錛岃杞崲鐨勫嚱鏁頒綔涓哄弬鏁拌浼犻掔粰瀹?</p><pre>wchar_t uppercaseLetter = Char::ToUpper(letter);</pre> <p style="text-indent: 24pt"> 姝ゅ榪樺寘鎷嫻嬪瓧姣嶆槸鍚﹀ぇ鍐欐垨灝忓啓鐨勫嚱鏁?IsUpper()鍜孖sLower()錛屽洜姝や笂渚嬪彲鏀逛負</p><pre>wchar_t letter; wchar_t upper; Console::Write(L"<span style="color: #8b0000">Enter a letter:</span>"); letter = Console::Read(); upper = Char::ToUpper(letter); <span style="color: #0000ff">if</span>(upper>='A' && upper<='Z') Console::WriteLine(L"<span style="color: #8b0000">You entered a {0} letter.</span>", Char::IsUpper(letter) ? "<span style="color: #8b0000">Capital</span>":"<span style="color: #8b0000">Small</span>"); <span style="color: #0000ff">else</span> Console::WriteLine(L"<span style="color: #8b0000">You entered a small letter.</span>");</pre> <p style="text-indent: 24pt"> Console::ReadKey()鍑芥暟鐢ㄤ簬嫻嬭瘯鎸夐敭錛屽茍灝嗙粨鏋滃瓨鍌ㄥ湪ConsoleKeyInfo綾誨璞¢噷銆傝綾繪湁3涓彲璁塊棶灞炴х敤浜庡府鍔╃‘瀹氳鎸変笅鐨勯敭鏄摢涓垨鍝簺閿傚睘鎬ey璇嗗埆琚寜涓嬬殑閿槸鍝釜錛屽睘鎬eyChar鏄鎸夐敭鐨刄nicode瀛楃鐮侊紝灞炴odifiers琛ㄧずShift,Alt,Ctrl閿殑鎸変綅緇勫悎錛屽畠鏄畾涔夊湪System鍛藉悕絀洪棿涓殑鏋氫婦綾誨瀷ConsoleModifiers鐨勫父閲忥紝鍖呮嫭Shift\Alt\Control銆?/p> <p style="text-indent: 24pt">搴旇娉ㄦ剰鐨勬槸錛屽湪C++/CLI涓灇涓懼父閲忓湪鐢ㄤ綔鏁板間箣鍓嶅繀欏昏鏄劇ず鐨勫己鍒惰漿鎹負鍊肩被鍨嬶紙鏁存暟綾誨瀷錛?/p> <h4></h4> <h2><em><u>渚嬪瓙錛氫嬌鐢–onsole::ReadKey()鍑芥暟</u></em></h2> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:67119a9f-0a48-4345-afc8-d63e2d656e32" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex3_16.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre><span style="color: #008000">// Ex3_16.cpp : main project file.</span> #include "<span style="color: #8b0000">stdafx.h</span>" <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> System; <span style="color: #0000ff">int</span> main(array<System::String ^> ^args) { ConsoleKeyInfo keyPress; Console::WriteLine(L"<span style="color: #8b0000">Press a key combination - press Escape to quit.</span>"); <span style="color: #0000ff">do</span>{ keyPress = Console::ReadKey(<span style="color: #0000ff">true</span>); Console::Write(L"<span style="color: #8b0000">You pressed</span>"); <span style="color: #0000ff">if</span>(safe_cast<<span style="color: #0000ff">int</span>>(keyPress.Modifiers)>0) Console::Write(L"<span style="color: #8b0000"> {0}</span>", keyPress.Modifiers); Console::WriteLine(L"<span style="color: #8b0000"> {0} which is the {1} character</span>", keyPress.Key, keyPress.KeyChar); }<span style="color: #0000ff">while</span>(keyPress.Key != ConsoleKey::Escape); <span style="color: #0000ff">return</span> 0; } </pre> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7eb3432e-0ed1-45b8-a5b1-4f5130a6057e" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex3_16.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div> <p style="text-indent: 24pt"> 璇ョ▼搴忕殑杈撳叆紺轟緥濡備笅錛?</p><pre>Press a key combination - press Escape to quit. You pressed Enter which is the character You pressed Spacebar which is the character You pressed Spacebar which is the character</pre> <p style="text-indent: 24pt"> 浠庤緭鍑轟腑鍙互鐪嬪嚭錛屽綋涓嶅彧涓涓敭琚寜涓嬫椂錛岀敤涓鏉¤鍙ュ氨鍙互寰楀埌鎵鏈夌殑閿傝繖鏄洜涓篗odifiers鏋氫婦綾誨瀷鏄敤FlagsAttribute灞炴у畾涔夌殑錛岃灞炴ц〃鏄庤繖縐嶆灇涓劇被鍨嬫槸涓緇勫敮涓鐨勪綅鏍囧織銆傝繖浣垮緱璇ユ灇涓劇被鍨嬬殑鍙橀噺鍙互鐢辮嫢騫蹭笌鍦ㄤ竴璧風殑鏍囧織浣嶇粍鎴愶紝鑰學rite()鎴朩riteLine()鍑芥暟鍙互璇嗗埆騫惰緭鍑哄悇鏍囧織浣嶃?</p> <h1>浜屻乫or each寰幆</h1> <p style="text-indent: 24pt"> 浠ヤ緥瀛愬紑濮?/p> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:956e7ca7-a8a2-4ce9-b203-000336508821" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex3_17.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div><pre><span style="color: #008000">// Ex3_17.cpp : main project file.</span> #include "<span style="color: #8b0000">stdafx.h</span>" <span style="color: #0000ff">using</span> <span style="color: #0000ff">namespace</span> System; <span style="color: #0000ff">int</span> main(array<System::String ^> ^args) { <span style="color: #0000ff">int</span> volwels = 0; <span style="color: #0000ff">int</span> consonants = 0; String^ proverb = L"<span style="color: #8b0000">A nod is as good as a wink to a blind horse.</span>"; <span style="color: #0000ff">for</span> each(wchar_t ch in proverb) { <span style="color: #0000ff">if</span>(Char::IsLetter(ch)) { ch = Char::ToLower(ch); <span style="color: #0000ff">switch</span>(ch) { <span style="color: #0000ff">case</span> 'a': <span style="color: #0000ff">case</span> 'e': <span style="color: #0000ff">case</span> 'i': <span style="color: #0000ff">case</span> 'o': <span style="color: #0000ff">case</span> 'u': ++volwels; <span style="color: #0000ff">break</span>; <span style="color: #0000ff">default</span>: ++consonants; <span style="color: #0000ff">break</span>; } } } Console::WriteLine(proverb); Console::WriteLine(L"<span style="color: #8b0000">The proverb contains {0} volwels and {1} consonants.</span>", volwels, consonants); <span style="color: #0000ff">return</span> 0; } </pre> <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e6e492bc-0694-4a70-bf03-24eb0ef87923" class="wlWriterEditableSmartContent">- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex3_17.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div> <p style="text-indent: 24pt"> 杈撳嚭涓猴細</p><pre>A nod is as good as a wink to a blind horse. The proverb contains 14 volwels <span style="color: #0000ff">and</span> 18 consanants. </pre> <p style="text-indent: 24pt"> 娉ㄦ剰錛氱敱浜巔roverb瀛楃涓蹭腑鐨勫瓧絎﹂兘鏄疷nicode瀛楃錛屽洜姝ょ敤wchar_t錛堟槧灝勪負Char綾誨瀷錛夌被鍨嬬殑鍙橀噺鏉ュ瓨鍌ㄨ繖浜涘瓧絎︺傚彉閲廲h涓哄驚鐜唴鐨勫眬閮ㄥ彉閲忋?/p><img src ="http://m.shnenglu.com/golq/aggbug/88645.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/golq/" target="_blank">鑻卞媷鐨勮繎鍗啗</a> 2009-06-27 16:46 <a href="http://m.shnenglu.com/golq/archive/2009/06/27/88645.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++/CLI瀛︿範鍏ラ棬(涓)錛氬熀紜http://m.shnenglu.com/golq/archive/2009/06/27/88644.html鑻卞媷鐨勮繎鍗啗鑻卞媷鐨勮繎鍗啗Sat, 27 Jun 2009 08:27:00 GMThttp://m.shnenglu.com/golq/archive/2009/06/27/88644.htmlhttp://m.shnenglu.com/golq/comments/88644.htmlhttp://m.shnenglu.com/golq/archive/2009/06/27/88644.html#Feedback1http://m.shnenglu.com/golq/comments/commentRss/88644.htmlhttp://m.shnenglu.com/golq/services/trackbacks/88644.html浠庝粖鏃ュ紑濮嬶紝灝嗗墠鏈熷涔犮奦isual C++ 2005鍏ラ棬緇忓吀銆嬶紙Ivor Horton钁?娓呭崕澶у鍑虹増紺懼嚭鐗堬級鐨勭浉鍏崇瑪璁版暣鐞嗗埌闅忕瑪涓紝甯屾湜鑳藉拰C++/CLI鐖卞ソ鑰呭垎浜涔犺繃紼嬩腑鐨勫績寰椼傛枃涓富瑕佸唴瀹瑰拰渚嬪瓙鎽樿嚜鍘熶功鐩稿叧绔犺妭錛屽鏈変鏡鏉冿紝璇風暀璦鎴栨潵淇″憡鐭ャ?/font>

鐩告瘮浜嶪SO/ANSI C++鑰岃█錛孋++/CLI榪涜浜嗗ぇ閲忕殑鎵╁厖錛屽茍涓旀彁渚涗簡澶ч噺鐨勯檮鍔犲姛鑳姐備富瑕佸寘鎷?

  • 鍦–++/CLI紼嬪簭涓紝鎵鏈塈SO/ANSI鍩烘湰鏁版嵁綾誨瀷閮藉彲浠ヤ嬌鐢紝浣嗗湪涓浜涚壒孌婄殑涓婁笅鏂囩幆澧冧腑錛屽畠浠叿鏈変竴浜涢澶栧睘鎬э紱
  • 鍦ㄦ帶鍒跺彴紼嬪簭涓紝C++/CLI瀵歸敭鐩樺拰鍛戒護琛岃緭鍑烘彁渚涗簡鑷繁鐨勬満鍒訛紱
  • C++/CLI涓紩鍏ヤ簡safe_cast榪愮畻絎︼紝紜繚寮哄埗綾誨瀷杞崲鎿嶄綔鑳藉鐢熸垚鍙楠岀殑浠g爜錛?/div>
  • C++/CLI鎻愪緵浜嗗彟澶栦竴縐嶅熀浜庣被鐨勬灇涓懼姛鑳斤紝鍏剁伒媧繪ц秴榪囦簡ISO/ANSI C++涓殑enum澹版槑銆?/div>

涓銆佸熀鏈暟鎹被鍨?/h1>

C++/CLI涓寘鎷簡鎵鏈塈SO/ASNI C++涓殑鍩烘湰鏁版嵁綾誨瀷錛岀畻鏈繍綆椾篃鍜屾湰鍦癈++瀹屽叏涓鏍楓傞櫎姝や箣澶栵紝C++/CLI涓繕瀹氫箟浜?縐嶆暣鏁扮被鍨嬶紝濡傝〃1鎵紺猴細

琛?:C++/CLI鏂板鍩烘湰鏁版嵁綾誨瀷

綾誨瀷

瀛楄妭

鍊煎煙

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緇欏嚭浜嗗熀鏈被鍨嬨佸崰鐢ㄥ唴瀛樹互鍙婂搴旂殑鍊肩被綾誨瀷銆?/p>

琛?錛氬熀鏈被鍨嬩笌CLI鍊肩被鍨?/p>

鍩烘湰綾誨瀷

瀛楄妭

CLI鍊肩被綾誨瀷

bool
char
singed char
unsigned char
short
unsigned short
int
unsigned int
long
unsigned long
long long
unsigned long long
float
double
long double
wchar_t

1
1
1
1
2
2
4
4
4
4
8
8
4
8
8
2

System::Boolean
System::SByte
System::SByte
System::Byte
System::Int16
System::UInt16
System::Int32
System::UInt32
System::Int32
System::UInt32
System::Int64
System::UInt64
System::Single
System::Double
System::Double
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爜涓彲鐢ㄤ換浣曚竴縐嶅悕縐般?/p>

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鍙婁互涓婄増鏈殑緙栬瘧鍣紝鍏朵粬鐗堟湰緙栬瘧鍣ㄦ湭蹇呭疄鐜拌繖縐嶆槧灝勫叧緋匯?/p>

灝嗗熀鏈被鍨嬭漿鎹負鍊肩被綾誨瀷鏄疌++/CLI鐨勪竴涓噸瑕佺壒寰併傚湪ISO/ANSI C++涓熀鏈被鍨嬩笌綾葷被鍨嬪畬鍏ㄤ笉鍚岋紝鑰屽湪C++/CLI涓紝鎵鏈夋暟鎹兘浠ョ被綾誨瀷鐨勫艦寮忓瓨鍌紝鍖呮嫭鍊肩被鍨嬶紙瀛樺偍鍦ㄥ爢鏍堜笂錛夊拰寮曠敤綾誨瀷錛堝瓨鍌ㄥ湪鍫嗕笂錛?縐嶃?/p>

渚嬪瓙錛欶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爜

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex_12.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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; 
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex_12.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

緙栬瘧鍚庢墽琛屽緱鍒板涓嬭緭鍑猴細

Oranges are not the only fruit?- 
- and we have 11 fuit in all. 

涓嶪SO/ANSI C++鐗堟湰姣旇緝錛屽彉閲忕殑綾誨瀷int灝嗘垚涓篊++/CLI綾誨瀷System::Int32銆傚鏋滅敤System::Int32鏇挎崲浠g爜涓殑int錛岀劧鍚庨噸鏂扮紪璇戣繍琛岋紝緇撴灉灝嗘病鏈夊彉鍖栥?/p>

WriteLine()鍑芥暟涓篊++/CLI鍑芥暟錛屽畾涔夊湪System鍛藉悕絀洪棿鐨凜onsole綾諱腑銆侰onsole琛ㄧず鏍囧噯杈撳叆杈撳嚭嫻併俉rite()鍑芥暟涓鴻綾葷殑鍙︿竴涓緭鍑哄嚱鏁幫紝涓嶄細鑷姩鎹㈣銆備笅闈笓闂ㄨ璁篊++/CLI鐨勬帶鍒跺彴杈撳叆杈撳嚭銆?    

浜屻佹帶鍒跺彴杈撳嚭

C++/CLI涓壒鏈夋帶鍒跺彴鏍煎紡鍖栬緭鍑哄姛鑳斤紝渚嬪鍙敤涓嬮潰鐨勪唬鐮佹潵杈撳嚭瀛楃涓蹭笌鍙橀噺娣峰悎鏂囨湰銆?/p>

Console::WriteLine(L"There are {0} fruit.", fruit);

Console::WriteLine()鐨勭涓涓弬鏁版槸L鈥漈here are {0} fruit.鈥濓紝鍏朵腑{0}涓烘牸寮忓寲鍗犱綅絎︼紝琛ㄧず鍦ㄦ澶勬彃鍏ョ浜屼釜鍙傛暟鐨勫鹼紝濡傛灉鏈夋洿澶氶渶瑕佹彃鍏ョ殑鍙傛暟錛屽垯璇ュ弬鏁板搴旂殑鍗犱綅絎︾紪鍙風戶緇鍔狅細{1}銆亄2}銆亄3}鈥︺傚湪絎竴涓瓧絎︿覆鍙傛暟涓紝緙栧彿鐨勯『搴忓彲浠ラ鍊掞紝濡?

Console::WriteLine(L"There are {1} packages weighting {0} pounds", packageWeight, packageCount);

鏍煎紡鍖栧崰浣嶇榪樺彲浠ユ帶鍒舵樉紺虹殑鏍煎紡錛屽{1:F2}琛ㄧず絎?涓弬鏁版樉紺烘垚鏈?浣嶅皬鏁扮殑嫻偣鏁幫紝鍐掑彿鍚庣殑涓烘牸寮忚鑼?/p>

Console::WriteLine(L"There are {0} packages weighting {1:F2} pounds ", packageCount, packageWeight);

杈撳嚭涓?/p>

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攏潞F2} pounds ", packageCount, packageWeight);

杈撳嚭涓猴紙涓嬪垝綰胯〃紺虹┖鏍煎~鍏呬綅錛夛細

Packages: _25 Weight: __7.50 pounds

鍙夌殑鏍煎紡璇存槑絎﹀琛?鎵紺?/p>

琛?錛氭牸寮忚鏄庣

鏍煎紡璇存槑絎?/strong>

璇存槑

C鎴朿

鎶婂間綔涓鴻揣甯侀噺杈撳嚭

D鎴杁

鎶婃暣鏁頒綔涓哄崄榪涘埗鍊艱緭鍑恒傚鏋滄寚瀹氱殑綺懼害澶т簬浣嶆暟錛屽垯鍦ㄦ暟鍊肩殑鍧愭爣濉厖0

E鎴杄

鎸夌収縐戝鎶鏈硶杈撳嚭嫻偣鍊?/p>

F鎴杅

鎶婃誕鐐規(guī)暟浣滀負鹵####.##鐨勫畾鐐規(guī)暟杈撳嚭

G鎴杇

浠ユ渶绱у噾鐨勫艦寮忚緭鍑猴紝鍙栧喅浜庢槸鍚︽寚瀹氫簡綺懼害鍊鹼紝濡傛灉娌℃湁鍒欓傜敤榛樿綺懼害

N鎴杗

鎶婂間綔涓哄畾鐐瑰崄榪涘埗鍊艱緭鍑猴紝蹇呰鏃朵互3浣嶄竴緇勭敤閫楀彿鍒嗛殧

X鎴杧

鎶婃暣鏁頒綔涓哄崄鍏繘鍒跺艱緭鍑恒傛牴鎹甔鎴杧錛屼互澶у啓鎴栧皬鍐欒緭鍑恒?/td>

渚嬪瓙錛氳綆楀湴姣環(huán)鏍鹼紝婕旂ずCLR鎺у埗鍙扮▼搴忕殑鏍煎紡鍖栬緭鍑?/em>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex_13.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex_13.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

涓夈佹帶鍒跺彴杈撳叆

.Net Framework鐨勬帶鍒跺彴閿洏杈撳叆鍔熻兘鏈夐檺錛屽彲浠ラ傜敤Console::ReadLine()鍑芥暟鎶婃暣琛岃緭鍏ヤ綔涓哄瓧絎︿覆璇誨彇錛屾垨鑰呬嬌鐢–onsole::Read()璇誨彇鍗曚釜瀛楃錛岃繕鍙互閫傜敤Console::ReadKey()璇誨彇鎸夐敭銆俁eadLine()鐨勪緥瀛愬涓嬶細

ReadLine()鐢ㄤ簬灝嗘暣琛屾枃鏈瓨鍏ュ瓧絎︿覆涓紝鎸変笅Enter閿椂錛屾枃鏈粨鏉熴傚彉閲弆ine涓篠tring^鍨嬶紝琛ㄧずString鏁版嵁綾誨瀷鐨勫紩鐢紝line涓篊onsole::ReadLine()鍑芥暟璇誨叆瀛楃涓茬殑寮曠敤銆?/p>

String^ line = Console::ReadLine();

Read()鐢ㄤ簬閫愬瓧絎︾殑璇誨叆杈撳叆鏁版嵁錛屽茍灝嗗叾杞崲鎴愬搴旂殑鏁板瓧鍊箋俁eadKey鐨勪緥瀛愬涓嬶細

char ch = Console::Read();

ReadKey()鐢ㄤ簬璇誨彇鎸夐敭鍊鹼紝騫惰繑鍥濩onsoleKeyInfo瀵硅薄錛岃涓哄璞″畾涔夊湪System鍛藉悕絀洪棿涓殑鍊肩被鍨嬨傚弬鏁皌rue琛ㄧず鎸夐敭涓嶅湪鍛戒護琛屼笂鏄劇ず鍑烘潵錛宖alse鍒欒〃紺烘樉紺烘寜閿洖鏄俱傛寜閿搴旂殑瀛楃鍙敤ConsoleKeyInfo瀵硅薄鐨凨eyChar寰楀埌銆?/p>

ConsoleKeyInfo keyPressed = Console::ReadKey(true);
Console::WriteLine(L"The key press corresponds to the character: {0}", keyPress.KeyChar);

灝界C++/CLI鎺у埗鍙扮▼搴忎腑涓嶈兘鏍煎紡鍖栬緭鍏ワ紝浣嗚緭鍏ヤ竴鑸兘閫氳繃紿楀彛緇勪歡寰楀埌錛屽洜姝よ繖浠呬粎鏄竴涓皬緙洪櫡銆?/p>

鍥涖佸己鍒剁被鍨嬭漿鎹afe_cast

鍦–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);

浜斻佹灇涓?/h1>

C++/CLI鐨勬灇涓句笌ISO/ANSI C++鏈夎緝澶х殑鍖哄埆銆備笅渚嬩負C++/CLI涓殑涓涓灇涓劇被鍨嬶細璇ヨ鍙ュ畾涔変簡涓涓灇涓劇被鍨婼uit錛岃綾誨瀷鐨勫彉閲忓彧鑳借璧嬪兼灇涓懼畾涔変腑鐨勫鹼紝涓斿繀欏葷敤鏋氫婦綾誨瀷鍚嶇О闄愬畾鏋氫婦甯告暟銆?/p>

enum class Suit {Clubs, Diamonds, Hearts, Spades};
Suit suit = Suit::Diamonds;

娉ㄦ剰class鍏抽敭瀛楄窡鍦╡num涔嬪悗銆傝鏄庤鏋氫婦綾誨瀷涓篊++/CLI錛岃鍏抽敭瀛楄繕琛ㄦ槑鍦ㄥ畾涔変腑瑙勫畾鐨勫父閲? Clubs\Diamonds\Hearts\Spades閮芥槸綾誨璞¤岄潪ISO/ANSI C++涓殑鍩烘湰綾誨瀷錛堟暣鍨嬶級鍊箋傚疄闄呬笂錛岄粯璁ゆ儏鍐典笅榪欎簺閮芥槸Int32綾誨瀷鐨勫璞°?/p>

鐢變簬C++/CLI鏋氫婦瀹氫箟涓殑鍙橀噺閮芥槸綾誨璞★紝鍥犳涓嶈兘鍦ㄥ嚱鏁板唴閮ㄥ畾涔夈?/p>

(涓錛夋寚瀹氭灇涓懼父閲忕殑綾誨瀷

鏋氫婦涓父閲忕殑綾誨瀷鍙互鏄笅琛ㄤ腑浠諱竴鍩烘湰綾誨瀷錛?/p>

short

int

long

long long

signed char

char

unsigned short

unsigned int

unsigned long

unsigned long long

unsigned char

bool

瑕佹寚瀹氫竴涓灇涓懼父閲忕殑綾誨瀷錛屽彲浠ュ湪鏋氫婦綾誨瀷鍚嶇О涔嬪悗鍐欏叆甯擱噺綾誨瀷鍚嶇О錛堣鐢ㄥ啋鍙烽殧寮錛夛紝涓嬩緥鏋氫婦綾誨瀷涓殑甯擱噺涓篊har綾誨瀷錛屽搴旂殑鍩烘湰綾誨瀷涓篶har銆傚叾涓涓涓父閲忛粯璁ゆ儏鍐典笅瀵瑰簲浜庝唬鐮佸?錛屽悗闈㈢殑渚濇閫掑銆?/p>

enum class Face:char { Ace,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King};

(浜?鎸囧畾鏋氫婦甯擱噺鐨勫?/h2>

鍙互璧嬩簣鏋氫婦綾誨瀷瀹氫箟涓殑涓涓垨鍏ㄩ儴甯告暟瀵瑰簲鐨勫鹼紝涓嬩緥浣垮緱Ace鑾峰緱1錛孴wo鑾峰緱2錛屽叾浣欎緷姝ょ被鎺紝鐩村埌King=13銆?

enum class Face:char { Ace=1,Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King};

濡傛灉鎯寵Ace鑾峰緱鏈澶у鹼紝鍒欏彲浠ュ涓嬪畾涔夛細

enum class Face:Char { Ace=14,Two=2,Three,Four,Five,Six,Seven,Eight,Nine,Ten,Jack,Queen,King};

渚嬪瓙錛氫嬌鐢ㄦ灇涓劇被鍨?/u>

- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::寮濮?=>> [Ex_14.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// 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;
}
- - - - - - - - - - - - - - - - <<== 鍗庝附鐨勫垎鍓茬嚎 ::緇撴潫==>> [Ex_14.cpp] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

璇ヤ緥瀛愮殑杈撳嚭涓?/p>

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 

渚嬪瓙璇存槑

  • Suit涓烘灇涓劇被鍨嬶紝涓嶈兘鍦ㄥ嚱鏁癿ain()鍐呴儴瀹氫箟錛屽洜姝ゅ彧鑳藉畾涔変負鍏ㄥ眬浣滅敤鍩熷唴銆?
  • 蹇呴』鐢ㄧ被鍨嬪悕縐癝uit闄愬畾鏋氫婦甯擱噺錛屽Suit::Clubs錛屽惁鍒欑紪璇戝櫒灝嗘棤娉曡瘑鍒?
  • 鍙橀噺suit鐨勫間負綾誨璞★紝瑕佽幏鍙栧叾鍊煎繀欏繪樉紺虹殑灝嗗叾杞崲鎴恑nt綾誨瀷銆?


]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              一区二区三区不卡视频在线观看| 久久综合久久88| 欧美在线观看视频在线| 1000部精品久久久久久久久| 欧美激情免费在线| 亚洲影音先锋| 国产精品99久久久久久久女警| 国产亚洲精品一区二555| 国产欧美一区二区三区沐欲| 欧美午夜不卡在线观看免费 | 狠狠久久亚洲欧美专区| 国产精品国产精品国产专区不蜜| 欧美日韩精品系列| 国产日本精品| 国产精品99久久久久久宅男| 午夜免费日韩视频| 先锋a资源在线看亚洲| 久久不射2019中文字幕| 欧美粗暴jizz性欧美20| 亚洲五月六月| 欧美激情一区在线| 黄色成人小视频| 午夜精品www| 91久久久在线| 久久国产乱子精品免费女| 欧美xart系列高清| 激情懂色av一区av二区av| 宅男精品视频| 亚洲精品一区二| 欧美精品免费在线观看| 韩国精品久久久999| 日韩午夜剧场| 亚洲经典三级| 久久精品一区二区三区中文字幕 | 国产视频在线观看一区二区| 国产精品高潮呻吟久久av黑人| 精品福利电影| 亚洲一级黄色片| 一区二区欧美激情| 久久综合电影一区| 久久久久久精| 国产伪娘ts一区| 亚洲一区二区三区四区五区午夜| 亚洲精品免费一区二区三区| 午夜电影亚洲| 国产亚洲精品bv在线观看| 久久综合狠狠| 亚洲成人在线| 亚洲人成人一区二区在线观看| 欧美一区日韩一区| 夜夜精品视频一区二区| 国产精品五区| 亚洲二区三区四区| 国产欧美精品在线播放| 男女激情久久| 国产精品mm| 亚洲欧洲一区二区三区在线观看| 国产精品超碰97尤物18| 欧美69wwwcom| 国模私拍视频一区| 欧美一级成年大片在线观看| 中文欧美日韩| 欧美日韩福利| 亚洲国产国产亚洲一二三| 在线欧美一区| 中文欧美日韩| 欧美日韩在线播放三区| 一本色道久久综合亚洲二区三区| 欧美韩国在线| 亚洲午夜精品福利| 蜜臀av一级做a爰片久久| 玖玖精品视频| 亚洲二区三区四区| 久久人91精品久久久久久不卡| 麻豆91精品91久久久的内涵| 亚洲一级影院| 99精品黄色片免费大全| 国产精品久久久久久久久婷婷| 亚洲女ⅴideoshd黑人| 在线视频欧美日韩| 999亚洲国产精| 欧美日韩网址| 亚洲手机成人高清视频| 亚洲欧美日本国产专区一区| 国产精品私房写真福利视频| 欧美va亚洲va香蕉在线| 男人的天堂亚洲在线| 91久久亚洲| 在线视频一区二区| 韩日视频一区| 欧美色精品在线视频| 欧美一区午夜精品| 亚洲激情网址| 久久午夜电影网| 一区二区冒白浆视频| 国产精品成av人在线视午夜片| 午夜视黄欧洲亚洲| 日韩午夜黄色| 欧美77777| 欧美一区国产一区| 亚洲视频网在线直播| 91久久精品国产91性色tv| 国产女优一区| 国产精品一区=区| 国产精品久久午夜夜伦鲁鲁| 欧美激情一区二区三区在线视频观看 | 国产在线精品成人一区二区三区| 免费一区二区三区| 久久婷婷久久一区二区三区| 亚洲综合成人婷婷小说| 日韩系列在线| 亚洲国产高清视频| 亚洲动漫精品| 亚洲精品小视频在线观看| 亚洲国产精品成人精品| 亚洲高清在线观看| 91久久精品一区二区别| 亚洲第一综合天堂另类专| 欧美激情免费在线| 亚洲伦理在线观看| 亚洲一区二区在线免费观看视频| 亚洲精选大片| 中日韩高清电影网| 欧美中文字幕在线视频| 裸体一区二区三区| 欧美视频一区二区三区在线观看| 国产精品xxx在线观看www| 欧美系列精品| 影院欧美亚洲| 亚洲欧美日韩一区在线| 久久国产精品高清| 亚洲黄色天堂| 香蕉久久a毛片| 欧美激情精品久久久久久久变态| 欧美视频免费看| 精品动漫3d一区二区三区免费| 1000部精品久久久久久久久| 一本综合精品| 欧美成人中文| 午夜一区二区三区在线观看| 欧美午夜精品久久久久久超碰| 亚洲第一色中文字幕| 久久久久久一区| 久久av老司机精品网站导航| 欧美日韩亚洲精品内裤| 最新国产拍偷乱拍精品| 国产精品国产馆在线真实露脸| 久久成人精品电影| 久久久免费精品视频| 国产亚洲欧洲| 久久影院亚洲| 久久综合国产精品台湾中文娱乐网| 欧美午夜激情小视频| 一本色道**综合亚洲精品蜜桃冫| 欧美黄在线观看| 欧美日韩高清在线| 在线视频精品一| 亚洲在线观看| 国内精品一区二区| 欧美电影在线观看完整版| 久久琪琪电影院| 这里是久久伊人| 亚洲欧美中文日韩v在线观看| 国产精品一区一区三区| 久久久五月婷婷| 欧美日本成人| 久久精品女人| 欧美精品久久久久久| 午夜精品久久久久久久久久久久 | 久久精品中文字幕免费mv| 欧美一区二区视频在线| 亚洲精品国产欧美| 性欧美xxxx大乳国产app| 亚洲国产91色在线| 小嫩嫩精品导航| 亚洲午夜精品久久久久久app| 欧美一区二区高清在线观看| 一本色道久久综合亚洲精品婷婷| 亚洲欧美国产高清va在线播| 亚洲美女黄网| 久久亚洲欧美| 猫咪成人在线观看| 国产欧美一区二区精品婷婷 | 欧美精品在线观看91| 麻豆成人综合网| 欧美一区二区三区四区在线| 亚洲欧洲精品一区二区三区不卡 | 免费日韩av片| 国产日韩三区| 亚洲欧美中文日韩v在线观看| 午夜欧美视频| 韩日欧美一区二区| 欧美影院久久久| 蜜臀99久久精品久久久久久软件| 国产视频不卡| 久久久久久久999精品视频| 老司机免费视频久久| 先锋影音网一区二区| 久久色在线观看| 99热精品在线|