C#, Cò, C”‘Š’kŽº Part59

‚±‚̃Gƒ“ƒgƒŠ[‚ð‚͂ĂȃuƒbƒNƒ}[ƒN‚ɒljÁ
1 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF
(#ß[ß)‚ ƒ C#A.NET‚̘b‘è‚Í‚±‚¿‚ç‚Å‚Ç‚¤‚¼B

‘OƒXƒŒ 
C#, Cò, C”‘Š’kŽº Part58
http://pc12.2ch.net/test/read.cgi/tech/1269261310/

Visual C# 2008 Express Edition “ú–{Œê”Å
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

‚»‚Ì‘¼ƒeƒ“ƒvƒŒ>>1-5‚­‚ç‚¢
@@@@@@@@ @ @ --@.._
@@@@@@,@ L@@@°-Ð@ M˜¤A
@@@@@/@'@, @@@@@MR/L. -R
.@@@@ Œ'@úU@@ ™Ñ„°-'L]Ê |
@@@@ ‚Œ@i @ ‚Œ@@@|@@@@@@@‚k!
@@@@ |@l @ !@i@l ƒŒ-]@ @ 'Ü‚kI
@@@@ |@l@ £@‚ɃR,. _- @ @ ‹ÒL.!
@@@@ l@l@‚Œf|@@ l |¨ Ê-]„¢²¿ ƒŠ|
@@ @ I.‚Œ@‚Œ |@@@‘ãƒ\@ ,™{M..¨@|
@@@ @ V@ ! | ‚‰ @ ‚‰|@MP @ '@Éi,ÛA
@@@@@j@ l@! ! !@‚Œ|@@ °_'LÚ-'„Ÿ]'§¤@@@‚ä‚Á‚­‚肵‚Ä‚¢‚Á‚Ä‚ËI
.@@ @ ™Ñƒml@‚Œ ‚Œ ‚Œi@l|M §[r'^7°,ºÆL ²
@@ ^ÜRM¤| | |l@‚Œ| /@Ê ‚u@/ÌÆ“ñƒu¤
@ /^R@@ R RMR¤{__'ƒm@`¤VL @ R.@@_
@i@@ ˜¤@@R R @ @ @ @ rV_Ú___R@@ R
.@l@@@@V @ `¤`A@_.. - Æ -Í@@ @ MA@ É
@ lÍ@@@ R.@@l@“ñ -'@ ™d@ R@@ @ `°'
.@ lR@@@@ ‚Œ @ ‚Œ@@,. -]„¨Þ- ¤@',
@@T°---]r' @@l@/@@@ “ñ7L ˜¦
@@ l@@@@l@ @ ƒm@@ @ ,Æ7f.ƒC@@@@)@@@j
.@@ ‚Œ@@@ Ñ- L@@^P _||'LƒmÊ@@iÜ@@ ‚­
@ @ l @ 'L@@ @ Ú -] 'L ||L /@ÊA@(@_..@-]j]-
.@ @ ‚Œ@@@@@^ M [@@a @ /@i@,@L_..@-]]]-
.@@ ,Ê.@ @ ^M˜¤¤_ __ @ a_..@..._ |f ,@Lc@`Ü
@@ {@`7’š@@@@@@@ @ SÆ“ñƒu |'¤ ` @ @ (‚Â
@@ R ,Œl@@@@@ @ @ @ _, -'L@@|@M@°----]@L
@@ @ ‚Œ@úU@@@@ @ _, -'L@@ _, -'L!
@@ @ |@b@ @ _, -'L@@@@@ MR@ M °-@..Q..@-
3 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/17(ŒŽ) 22:41:30
C#‰SŽÒ‚Å‚·B‚â‚肽‚¢‚±‚Æ‚ÍWebƒAƒvƒŠ‚ŃL[ƒ{[ƒh‚ÌEnterƒL[‚ð‰Ÿ‚·‚Æ
ƒeƒLƒXƒgƒ{ƒbƒNƒX“à‚̃[ƒh‚ÅŒŸõ‚·‚éA‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
‚Ü‚¸Aƒtƒ@ƒCƒ‹–¼.aspx“à‚É
<body onkeydown="click_sub()"
<script language="Javascript">
function click_sub() {
if(windows.event.keyCode == 13) {
CallServer("","");
}
C#‰SŽÒ‚Å‚·B‚â‚肽‚¢‚±‚Æ‚ÍWebƒAƒvƒŠ‚ŃL[ƒ{[ƒh‚ÌEnterƒL[‚ð‰Ÿ‚·‚Æ
ƒeƒLƒXƒgƒ{ƒbƒNƒX“à‚̃[ƒh‚ÅŒŸõ‚·‚éA‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
‚Ü‚¸Aƒtƒ@ƒCƒ‹–¼.aspx“à‚É
<body onkeydown="click_sub()"
<script language="Javascript">
<!--
function click_sub() {
if(windows.event.keyCode == 13) {
CallServer("","");
}
}
function ReceiveServerData(rBValue) {
window.open('Search.aspx', 'ŒŸõ')
}
—ª
‚ƒljÁ‚µAƒtƒ@ƒCƒ‹–¼.aspx.cs‚ÌPage_Load(object sender, EventArgs e)‚É
callbackScript ="function CallServer(arg, contexct)" +
"{" + cbReference + ";};
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"CallServer", callbackScript, true);
‚ƒljÁ‚µ‚Ü‚µ‚½B
public void RaiseCallbackEvent(String evenArguemnt)
‚ÅtxtSearch.Text‚Ì’†‚ª‹ó‚É‚È‚Á‚Ä‚µ‚Ü‚¢A
•¶Žš—ñ‚ª³í‚Ɏ擾‚Å‚«‚Ü‚¹‚ñB
ƒfƒoƒbƒO‚Å‚±‚̈—‚Ü‚Å—ˆ‚é‚Ì‚ÍŠm”F‚µ‚Ü‚µ‚½‚ªA
ƒeƒLƒXƒgƒ{ƒbƒNƒX‚Ì’l‚ª‰½‚à“ü‚Á‚Ä‚¢‚Ü‚¹‚ñB
ƒ{ƒ^ƒ“ƒNƒŠƒbƒNƒCƒxƒ“ƒg‚¾‚Ƴí‚Ɏ擾‚Å‚«‚Ü‚µ‚½B
txtSearch‚Ée‚Ì–¼‘O‹óŠÔ‚ª•K—v‚È‚Ì‚Å‚µ‚傤‚©H
‚¤‚Ü‚­à–¾‚Å‚«‚Ü‚¹‚ñ‚ªA‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
>>3‚ÍŽ¸”s‚µ‚Ü‚µ‚½B\‚µ–ó‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
•’Ê‚ÉPost‚·‚ê‚΂¢‚¢‚¶‚á‚ñB
>>4
‚»‚Ì’ñŽ¦‚µ‚½ƒ\[ƒXˆÈŠO‚ÌŠ‚É–â‘肪‚ ‚é‚È
‹ï‘Ì“I‚É‚ÍTextBox‚Érunat="server"‚Ë[‚¾‚ëH
>>5-6
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‚»‚Ì•Ó‚Å’²‚ׂĂ݂܂·B
ƒvƒƒpƒeƒBƒOƒŠƒbƒh‚̃JƒeƒSƒŠ‚ð”CˆÓ‚̇”Ô‚É‚·‚é•û–@‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B
ƒvƒƒpƒeƒB‚̇”Ô‚ð”CˆÓ‚É•Ï‚¦‚é•û–@‚Í‚·‚®Œ©‚‚©‚Á‚½‚ñ‚Å‚·‚ªAƒJƒeƒSƒŠ‚Ì
•À‚ч‚ð•Ï‚¦‚é‚Ì‚Á‚Ä‚È‚©‚È‚©Œ©‚‚©‚ç‚È‚¢‚Å‚·B
ƒJƒeƒSƒŠ–¼‚Ì擪‚Ƀ^ƒu•¶Žš(\t)‚ð“ü‚ê‚Ü‚­‚é
ƒvƒƒpƒeƒBƒOƒŠƒbƒh‚Ë‚¦
‚ ‚ñ‚Ü‚è”ñƒvƒƒOƒ‰ƒ}‚ÉG‚点‚é‚悤‚È‚à‚ñ‚¶‚á‚È‚¢‚ÆŽv‚¤
10 F8F2010/05/19(…) 08:38:14
>>9
‚ ‚肪‚Æ‚¤I
‚È‚é‚قǃ^ƒu•¶Žš‚Æ‚Í‚ËB
‚±‚ê‚ÍŽv‚¢‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
>>10
l¶‚ʼn‚ß‚Ä‚¨—ç‚ðŒ¾‚í‚ꂽ‚悤‚ÉŽv‚¤
‚¤‚Ђå[‚—
>>11
‚¨‚ß‚Å‚Æ‚¤I
‚¨‚ß‚Å‚Æ‚¤II
‚¨‚ß‚Å‚Æ‚¤III

app.config‚Á‚Ä”z—ñ‚ªˆµ‚¦‚È‚¢‚ñ‚¾‚¯‚Ç
‚Ç‚¤‚µ‚Ä‚àŽg‚¢‚½‚¢ê‡AXmlDocument‚Å“Ç‚Ýž‚Ü‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚©‚ÈH
ƒJƒ“ƒ}‚Å‹æØ‚Á‚ÄSplitA‚Æ‚¢‚¤”ß‚µ‚¢‹Z‚ðŽg‚Á‚½‚±‚Æ‚ª‚ ‚éB
•¶Žš—ñ‚È‚çStringCollection‚ªŽg‚¦‚邾‚ë
EXE‚Æ“¯‚¶êŠ‚ÉÝ’è•Û‘¶‚·‚éŠÈ’P‚ÈŽd‘g‚Ý‚ª‚ ‚Á‚½‚ç‚æ‚©‚Á‚½‚Ì‚É‚È‚Ÿ[
17 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/20(–Ø) 23:38:26
xmlƒVƒŠƒAƒ‰ƒU[Žg‚¦‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚ÌH
‚ ‚ê‚₱‚ê‚â‚Æ•Ö—˜‚È‚à‚Ì‚ð’ñ‹Ÿ‚³‚ê‚Ä‚é‚É‚à‚©‚©‚í‚炸‚±‚Ì‚´‚Ü‚Å‚·‚æ
CF‚É‚Íapp.config–³‚¢‚Ì‚ÅŽ©‘O‚Å—pˆÓ‚µ‚½‚Ì‚ðŽg‚Á‚Ä‚é
20 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/21(‹à) 00:01:25
•Û‘¶êŠ‚Ì–â‘è‚ÍXP‚Ì‚ ‚ê‚Èó‘Ô‚ª’·Šú‚Å‚«‚¿‚á‚Á‚Ä
ƒ†[ƒU[‚É•Ï‚È•È‚ª•t‚¢‚Ä‚é‚Ì‚ªÅ‘å‚̃lƒbƒN‚¾‚ÆŽv‚¢‚Ü‚·B
UAC‚Æ‚©—‰ð‚µ‚Ä‚­‚ê‚é‚È‚ç‚ ‚肪‚½‚¢‹@”\‚ðƒoƒVƒoƒVŽg‚¢‚Ü‚·‚ª‚È

‚»‚ê‚ƃxƒr[ƒJ[‚ÌCMH‚â‚Á‚Ä‚½‚¯‚Ç‘½‚·‚¬‚é‚Æ–À‚Á‚½‚è‚·‚é‚ñ‚Å‚·‚æ
‚ ‚ꂱ‚ꎎ‚·˜J—Í‚à‘å•Ï‚È‚Ì‚Å‚Ó‚ç`‚Æ‚±‚¤‚¢‚Æ‚±‚Æ‚Å
‰½‚©‚¢‚¢•û–@‚È`‚¢H‚Æ‹ð’s‚ð‚±‚Ú‚·‚ñ‚Å‚·‚æ
MS‚ÌŒ¾‚¤‚Æ‚¨‚背ƒWƒXƒgƒŠ‚É•Û‘¶‚·‚ê‚΂æ‚낵‚¢
>>17
‚¢‚Ü‚Í‚»‚¤‚µ‚Ă邯‚ÇA‚¹‚Á‚©‚­VS•W€‚Ì‚ª‚ ‚é‚ñ‚¾‚©‚ç
‚ ‚ꂪŽg‚¦‚½‚ç‚È`‚Á‚ÄŽv‚Á‚Ä‚³
Windows Vista/7‘Ήž‚ð‚¤‚½‚Á‚Ä‚¨‚«‚È‚ª‚çŽÀsƒtƒ@ƒCƒ‹‚Æ“¯‚¶êŠ‚ÉÝ’è‚ð•Û‘¶‚µ‚悤‚Æ‚·‚é’j‚Ìl‚Á‚Ä
‚¿‚á‚ñ‚ƃŒƒWƒXƒgƒŠŽg‚¨‚¤‚Ë
XP‚¾‚Á‚ÄŠÇ—ŽÒˆÈŠO‚ͳí‚É“®ì‚µ‚È‚¢‚¯‚Ç‚ËB
(ProgramFilesˆÈ‰º‚ɃCƒ“ƒXƒg[ƒ‹‚µ‚½ê‡j

ƒvƒƒOƒ‰ƒ}‚Å‚àWin9xŽž‘ã‚̃‰ƒt‚Èl‚¦•û‚ð‚Þ‚µ‚ëu‰´‚Í‚í‚©‚Á‚Ä‚é‚ñ‚¾v
‚Ý‚½‚¢‚ÉŠ¨ˆá‚¢‚µ‚Ä‚é“z‚ª–¢‚¾‚É‘½‚¢‚Ì‚Í¢‚Á‚½‚à‚ñ‚¾‚Ë
>>23
¢‚Ì’†‚ɂ̓|[ƒ^ƒuƒ‹”Å‚Á‚Ä‚¢‚¤‚Ì‚ª‚ ‚é‚ñ‚¾‚æ
’N‚àƒ|[ƒ^ƒuƒ‹”ł̘b‚È‚ñ‚Ä‚µ‚Ä‚È‚¢‚¾‚ë
>>26
Program Files“à‚Ƀ|[ƒ^ƒuƒ‹”Å‚ð‚Ô‚¿‚±‚Þ‚Ì‚ª‚»‚à‚»‚à‚ÌŒë‚肾‚Æ‹C•t‚¯‚æ‚—‚—
29 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/21(‹à) 02:14:23
>>28
Program Files“à‚É“ü‚ê‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ÆŸŽè‚ÉŽv‚¢‚±‚ñ‚Å‚é‚Ì‚©‚—
‚Ç‚¤‚µ‚悤‚à‚È‚¢‚È‚—
Ý’è‚ð•Û‘¶‚µ‚Ä‚È‚¢‚̂Ƀtƒ@ƒCƒ‹‚ðŠJ‚­ƒ_ƒCƒAƒƒO‚Ì
ƒtƒ@ƒCƒ‹‚ðŠJ‚­êŠ‚ª‘O‰ñŠJ‚¢‚½êŠ‚É‚È‚Á‚Ä‚é
‚¿‚á‚ñ‚ƃAƒvƒŠ‚²‚Æ‚É
OS‚ª‚â‚Á‚Ä‚é‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇA‚Ç‚±‚ÉÝ’è•Û‘¶‚µ‚Ä‚é‚ñ‚¾‚낤H
•Ê‚ɃAƒvƒŠ‚²‚Æ‚É•Û‘¶‚µ‚Ä‚é‚킯‚¶‚á‚È‚¢‚悤‚ÉŽv‚¤‚ñ‚¾‚ªA‚»‚¤‚Å‚à‚È‚¢‚Ì‚©‚ËB
Ìì‚Á‚½ƒAƒvƒŠ‚𔃖ŒŽ‚Ô‚è‚É‹N“®‚µ‚ătƒ@ƒCƒ‹‚ðŠJ‚­ƒ_ƒCƒAƒƒO‚ðŠJ‚¢‚Ä‚Ý‚½‚çA
‚«‚¿‚ñ‚Æ‘O‚É‚»‚̃AƒvƒŠ‚ÅŠJ‚¢‚½ƒtƒ@ƒCƒ‹‚̃tƒHƒ‹ƒ_‚ð•\Ž¦‚µ‚½‚©‚çAOS‚ªî•ñ‚ð•ÛŽ‚µ‚Ä‚é‚Í‚¸

‰´AŠJ‚¢‚½êŠ‚ð•Û‘¶‚µ‚ÄAŽŸ‰ñ‹N“®Žž‚É“Ç‚Ýž‚ñ‚Ń_ƒCƒAƒƒO‚ÉÝ’è‚·‚é‚Æ‚©A‚Ç‚êˆê‚‚â‚Á‚Ä‚È‚¢
‚ A‚²‚ß‚ñAC#2008‚Åì‚Á‚Ä‚È‚©‚Á‚½EEEDelphi6‚Åì‚Á‚½‚ñ‚¾‚Á‚½EEE
C#‚¾‚ƃtƒ@ƒCƒ‹‚ðŠJ‚­ƒ_ƒCƒAƒƒO‚Ì‹““®‚ªˆá‚¤‚©‚àEEE
¡‚ÍAƒŒƒWƒXƒgƒŠ‚Å‚Í‚È‚­AAppData‚É•Û‘¶‚ª„§‚³‚ê‚Ä‚¢‚éB
>>34
XP‚Í–³Ž‹H
XMLƒVƒŠƒAƒ‰ƒCƒU‚Á‚ÄA‚È‚ñ‚Å‘½Œ³”z—ñŽg‚¦‚È‚¢‚ñ‚¾‚æ
‘½Œ³”z—ñ‚È‚ñ‚ÄŽq‹Ÿ‚ªŽg‚¤‚à‚ñ‚¾‚æ
>>35
Windows 95‚É‚à‚ ‚éB
>>35
‚¦H
>>32
ƒRƒ‚ƒ“ƒtƒ@ƒCƒ‹ƒ_ƒCƒAƒƒO‚̓VƒFƒ‹‚ÌŠÇŠ
ÅŒã‚É‘I‘ð‚µ‚½êŠ‚ÌŠî–{“I‚ÉŽÀsƒtƒ@ƒCƒ‹–¼‚ÅŠÇ—‚µ‚Ä‚é‚È
>>39
‚¦H
‚È‚É‚»‚ꂱ‚í‚¢
ŋ߂͉Ž‚ªƒvƒƒOƒ‰ƒ~ƒ“ƒO‚µ‚Ä‚é‚Ì‚©B
~‰Ž‚ªƒvƒƒOƒ‰ƒ~ƒ“ƒO‚µ‚Ä‚é
›‰Ž‚ª‹’…‚¢‚Ä‚¢‚é
>>30
‚ÂRestoreDirectory
>>45
‚»‚êAƒ_ƒCƒAƒƒO‚É‚æ‚Á‚Ä•ÏX‚³‚ê‚éƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚ðŒ³‚É–ß‚·‚©‚Ç‚¤‚©‚¶‚á‚ËH
>>44
o(LEƒÖE`)‚Ԃ‚¨
EWFŽü•Ó‚ðC#‚ÅG‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇA
ˆê‰ÓŠC#‚Å‚Ì‘‚«•û‚ª‚ ‚Á‚½‚Ì‚Å‹³‚¦‚Ä‚­‚¾‚³‚¢B

typedef struct _EWF_VOLUME_NAME_ENTRY
{
struct _EWF_VOLUME_NAME_ENTRY * Next;
WCHAR Name[1];
} EWF_VOLUME_NAME_ENTRY, *PEWF_VOLUME_NAME_ENTRY;

‚±‚Ì\‘¢‘Ì‚Ì’è‹`‚ðC#‚Å‘‚«’¼‚·‚Ƃǂ̂悤‚É‘‚­‚Ì‚Å‚·‚©H
•s’è’·i‚ð–Ú“I‚Æ‚µ‚½j\‘¢‘Ì‚ÍŒ^‚Æ‚µ‚Ä‹Lq‚Å‚«‚È‚¢
50 F48F2010/05/21(‹à) 21:08:40
>>49
‚ñ[EEE‚»‚¤‚Å‚·‚©BBB
‚ ‚肪‚Æ‚Å‚·BVC++‚щƒbƒvdllì‚é‚©cB
>>37
‘ål‚È‚ç‚â‚Á‚Ï‚è‚QŽŸŒ³”z‹ôŽÒ‚¾‚æ‚È
iPhone SDK‚ÌUITableView‚Ý‚½‚¢‚ÉAƒŠƒXƒg‚ÌŠe€–Ú‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚éƒRƒ“ƒgƒ[ƒ‹‚Á‚Ä‚È‚¢‚Å‚·‚©H
ListView + ListViewItem‚Å‚Í–³—‚Å‚·‚æ‚ËB
‚Ç‚±‚©‚ɃI[ƒvƒ“ƒ\[ƒX‚ȃ‰ƒCƒuƒ‰ƒŠ‚Í‚È‚¢‚à‚Ì‚Å‚µ‚傤‚©B
Ž©‘O‚Åì‚é‚ÆŒ‹\‘å•Ï‚»‚¤‚ÅEEE
53 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/22(“y) 13:40:28
Ž©ì‚·‚é‚©Šù‘¶‚̃Rƒ“ƒgƒ[ƒ‹‚̃I[ƒi[ƒhƒ[ŠÖ˜A‚ð—˜—p‚µ‚Ä
Ž©•ª‚Å•`‰æ•”•ª‚ð‘‚­‚©
Œã‚ÍWPF‚Ö‚¢‚­‚©EEE
‚Ç‚Ú‚ñ‚Ì http://dobon.net/vb/dotnet/process/standardoutput.html ‚̃\[ƒX‚ðŽÀs‚µ‚Ä‚àA
result‚ÉŒ‹‰Ê‚ðŽæ“¾‚Å‚«‚é’[––‚Ƃ͋󕶎š—ñ‚µ‚©E‚¦‚È‚¢’[––‚ª‚ ‚è‚Ü‚·B
‹¤‚ÉDOS‘‹‚Ådir‚ðŽÀs‚µ‚½‚çAƒfƒBƒŒƒNƒgƒŠî•ñ‚Í•\Ž¦‚³‚ê‚Ü‚·B
‰½‚©Œ ŒÀ‚Æ‚©‚ ‚é‚Ì‚Å‚µ‚傤‚©H


System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

//ComSpec‚̃pƒX‚ðŽæ“¾‚·‚é
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec");

//o—Í‚ð“Ç‚ÝŽæ‚ê‚é‚悤‚É‚·‚é
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
//ƒEƒBƒ“ƒhƒE‚ð•\Ž¦‚µ‚È‚¢‚悤‚É‚·‚é
psi.CreateNoWindow = true;
//ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðŽw’èi"/c"‚ÍŽÀsŒã•Â‚¶‚邽‚ß‚É•K—vj
psi.Arguments = @"/c dir c:\ /w";
//‹N“®
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
//o—Í‚ð“Ç‚ÝŽæ‚é
string results = p.StandardOutput.ReadToEnd();
//WaitForExit‚ÍReadToEnd‚ÌŒã‚Å‚ ‚é•K—v‚ª‚ ‚é
//(eƒvƒƒZƒXAŽqƒvƒƒZƒX‚ŃuƒƒbƒN–hŽ~‚Ì‚½‚ß)
p.WaitForExit();

//o—Í‚³‚ꂽŒ‹‰Ê‚ð•\Ž¦
Console.WriteLine(results);
VB.net‚ÌStartupNextInstanceŽÀ‘•‚Á‚Ä‚Ç‚¤‚â‚Á‚Ä‚é‚Ì‚©‚ÈB
‚Æ‚è‚ ‚¦‚¸A–¼‘O•t‚«ƒpƒCƒv‚Å“¯‚¶Ž–‚µ‚悤‚Æ‘‚«Žn‚ß‚½‚¯‚ÇA
‹N“®’†‚ÉA–¼‘O•t‚«ƒpƒCƒv‚ðŠJ‚Á‚Ï‚È‚µ‚É‚µ‚Ä‚¢‚¢‚à‚Ì‚©‚Ç‚¤‚©
‹C‚É‚È‚Á‚Ä‚«‚½B

‹ï‘Ì“I‚É‚ÍA“ñd‹N“®‚ð‹ÖŽ~‚µ‚ÄA
Œã‚©‚ç‹N“®‚³‚ꂽƒvƒƒOƒ‰ƒ€‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðŽæ“¾‚µ‚½‚¢B
>>55
C#‚Å“¯‚¶‚±‚Æ‚ð‚â‚é•û–@‚ª‚Ç‚±‚©‚ÉŒöŠJ‚³‚ê‚Ä‚½‚Í‚¸‚¾‚©‚çAƒOƒO‚ê‚Îo‚Ä‚­‚é‚æ‚«‚Á‚ÆB
‰ïŽÐ‚̃uƒ‰ƒEƒU‚ɂ̓uƒbƒNƒ}[ƒN‚µ‚Ä‚ ‚é‚ñ‚¾‚ª...

‚Ü‚ ‚Å‚àAƒXƒ^[ƒgƒAƒbƒvƒvƒƒWƒFƒNƒg‚ðVB‚É‚·‚ê‚Ζ­‚È‹ZI‚ðŽg‚¤•K—v‚à‚È‚¢‚ÈB
IpcChannel‚Æ‚©
“¯‚¶Ž–‚ª‚µ‚½‚¢‚¾‚¯‚È‚çA
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase‚Ì”h¶ƒNƒ‰ƒXì‚Á‚Ä
IsSingleInstance‚Æ‚©ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ÅÝ’èA
‚ÅApplication.Run‚Ì‘ã‚í‚è‚É‚»‚¢‚‚ÌRun‚ðŽg‚¦‚΂悢
59 F55F2010/05/22(“y) 15:03:32
VB‚̃Xƒ^[ƒgƒAƒbƒvŽg‚¤‚Å‚·‚©B
‚¿‚å‚Á‚Æ’ïR‚ªEEE‚—
60 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/22(“y) 15:13:16
ŠwZ‚ÌCŒ¾Œê‚̃Œƒ|[ƒg‰Û‘è‚È‚ñ‚Å‚·‚ªA­‚µ’mŒb‚𕪂¯‚Ä‚­‚¾‚³‚¢B
–â‘èF‚TŒÂ‚Ì’l‚ð“ü—Í‚µ‚Ä‚»‚Ì’†‚ɂЂƂ‚łà‹ô”‚ª‚ ‚ê‚Îw‹ôxAŠï”‚µ‚©‚È‚¯‚ê‚ÎwŠïx‚Æo—Í‚·‚éƒvƒƒOƒ‰ƒ€
i¦•¡”ŒÂ‚Ì‹ô”‚ª‚ ‚Á‚½‚Æ‚µ‚Ä‚àw‹ôx‚Æ•\Ž¦‚·‚é‚Ì‚Í1‰ñ‚¾‚¯‚Æ‚·‚éj

“r’†‚Ü‚Å‚Í‚±‚ñ‚È•—‚É‘‚¢‚Ä‚Ý‚½‚Ì‚Å‚·‚ª
#include<stdio.h>
int main(void){

int x[5];
int i;

for(i=0;i<=4;i=i+1){
printf("x[%d]‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B\n",i);
scanf("%d",&x[i]);
}
if (x[i] % 2 == 0){
printf("‹ô\n");
}
else{
printf("Šï\n");
}
return 0;
}
61 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/22(“y) 15:16:02
>>60
‚±‚¿‚ç‚Ö‚Ç‚¤‚¼

C/C++‚Ìh‘è•Ð•t‚¯‚Ü‚· 135‘ã–Ú
http://pc12.2ch.net/test/read.cgi/tech/1269438098/

CŒ¾Œê‚Ȃ牴‚É•·‚¯i“ü–å•ÒjPart 64
http://pc12.2ch.net/test/read.cgi/tech/1273846013/
62 F55F2010/05/22(“y) 15:16:26
IpcChannel‚ŃOƒO‚Á‚½‚çA‘òŽRŒ©‚‚©‚Á‚½‚¯‚ÇA
“à•”‚Å–¼‘O•t‚«ƒpƒCƒvŽg‚Á‚Ä‚é‚Æ‚Ìî•ñ‚ª‚—

‚±‚Ì‚Ü‚ÜA–¼‘O•t‚«ƒpƒCƒv‚Å‚â‚Á‚Ä‚Ý‚Ü‚·B
‚Ç‚¤‚à‚Å‚µ‚½B
.NET‚̃Šƒ‚[ƒeƒBƒ“ƒO‚Í.NET‚̃IƒuƒWƒFƒNƒg‚ðƒvƒƒZƒXŠÔ‚Ŏ󂯓n‚µ‚Å‚«‚é‚Æ‚±‚낪
ƒLƒ‚‚È‚ñ‚ÅA‚»‚Ì•K—v‚ª‚È‚¯‚ê‚Ζ¼‘O•t‚«ƒpƒCƒv‚Å‚à\•ª‚©‚à‚ËB
64 F52F2010/05/22(“y) 18:01:07
>>53
WPF‚Á‚ăXƒŒ‚à‚È‚¢‚悤‚Å‚·‚ªA‚Ç‚¤‚È‚ñ‚Å‚µ‚傤H
‚Ђå‚Á‚Æ‚µ‚ÄŽ€–Sƒtƒ‰ƒO—§‚Á‚Ä‚Ü‚·‚©H
>>64
Ž€–Sƒtƒ‰ƒO‚Í—§‚Á‚Ä‚¯‚ÇAƒXƒŒ‚Í‚ ‚é
http://pc12.2ch.net/test/read.cgi/tech/1274423236/
66 F52F2010/05/22(“y) 19:45:22
>>65
‚È‚ñ‚©‚¾‚ß‚Û‚ÈŠ´‚¶‚Å‚·‚ËEEE
‚±‚¤‚܂Ń}ƒCƒNƒƒ\ƒtƒg‚Ì’œ—Ž‚ªŒƒ‚µ‚¢‚Æ‹t‚ɉž‰‡‚µ‚½‚­‚È‚è‚Ü‚·
Slievrlight3‚ŃfƒXƒNƒgƒbƒvƒAƒvƒŠ‚à‚¢‚¯‚éH‚悤‚È‚Ì‚ÅA‚»‚Á‚¿‚ð–Íõ‚µ‚Ä‚Ý‚Ü‚·B
Œ‹‹ÇA.net + C#‚̃Rƒ“ƒgƒ[ƒ‹‚Á‚Ä]—ˆ‚ÌWindowsAPI€‹’‚Ì‚à‚Ì‚ª‚Ù‚Æ‚ñ‚Ç‚Å‚·‚©‚ç‚ËB
Silverlight3‚̃uƒ‰ƒEƒUŠOŽÀs‚Í‘S‚­Žg‚¢•¨‚É‚È‚ç‚ñ
ƒfƒXƒNƒgƒbƒvƒAƒvƒŠ‚ÍSilverlight4‚©‚ç
ƒhƒ‰ƒNƒG‚¶‚á‚Ë‚¦‚ñ‚¾‚©‚ç3‚¾‚Ì4‚¾‚Ì’ZŠúŠÔ‚ɃAƒz‚Ý‚½‚¢‚Ƀo[ƒWƒ‡ƒ“ƒAƒbƒv‚µ‚È‚¢‚Å—~‚µ‚¢‚æw
•³‚Å‚©‚¢.NET‚Ƃ͈á‚Á‚Ä‚Ç‚¤‚¹ƒCƒ“ƒXƒg[ƒ‹1•ª‚¾‚©‚ç‚»‚ñ‚È‚É–â‘è‚É‚È‚ç‚È‚¢‚ñ‚Å‚µ‚å
JavaFX‚Ý‚½‚¢‚ɃtƒF[ƒhƒAƒEƒg‚·‚é‚æ‚è‚̓}ƒV
>>60
#include <stdio.h>
int main(void){
int a,b=1,c;
for(c=0;c<5;c++)
{
printf("’l‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B\n");
scanf("%d",&a);
b*=(a%2);
}
printf((b==0)?"‹ô\n":"Šï\n");
return(0);
}
>>60
5ŒÂ‘S•”and‚µ‚ÄLSB‚ª0‚È‚ç‹ô”
72 F52F2010/05/22(“y) 23:24:10
>>67
‚È‚é‚Ù‚ÇB‚S‚ÍŠJ”­ŠÂ‹«‚Ü‚¾RC‚Ý‚½‚¢‚Å‚·‚ªA‚â‚Á‚Ä‚Ý‚Ü‚·B
Silverlight‚É‚Í–¢—ˆ‚ª‚ ‚é‚ÆM‚¶‚½‚¢B
73 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 11:50:39
HTML5‚ÅFlash‚ª‚¢‚ç‚È‚­‚È‚é‚Á‚Ęb‚¾‚¯‚ÇSliverlight‚ª‚±‚Ì涂«‚Ì‚±‚é‚É‚Í
ƒKƒL‚­‚³B
2ch‚¾‚©‚ç‚Á‚Ä–³—‚µ‚Ä–Ê”’‚­‚µ‚悤‚Æ‚©i‚¢‚â‘S‚­–Ê”’‚­‚à‚È‚ñ‚Æ‚à‚È‚¢‚ªj
Žv‚í‚È‚­‚Ä‚¢‚¢‚Ì‚ÉB
>>73
‚»‚ê‚Í‚È‚¢B
HTML5A•W€‚Á‚Ä‚Ì‚ª‹­‚Ý‚Å‚àŽã‚Ý‚Å‚à‚ ‚Á‚ÄA
Žã‚Ý“I‚É‚ÍA‹@”\[ŽÀ‚ª’x‚·‚¬‚Ä Flash ‚Æ‚© Silverlight ‚Ì‘ã‘Ö‚É‚Í‚È‚ç‚È‚¢B
’iXƒXƒŒƒ`‚¾‚ªAŒÂl“I‚ɃfƒXƒNƒgƒbƒvƒAƒvƒŠ\’zŠÂ‹«‚Æ‚µ‚ÄA
Eƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€
EHTML‚ʼnæ–ʃfƒUƒCƒ“‚Å‚«‚é
‚à‚Ì‚Æ‚µ‚ÄSilverlight‚ÉŠú‘Ò‚µ‚½‚¢B
Adobe‚ÌŠJ”­ŠÂ‹«‚ÍD‚«‚É‚È‚ê‚È‚¢B

“Á’è‚̃vƒ‰ƒbƒgƒtƒH[ƒ€ˆË‘¶‚Ì‚à‚Ì‚ÍA‚à‚¤–¢—ˆ‚ª‚È‚¢‚ÆŽv‚¤B
C# + .net‚̓}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€•‹y‚ÉŽ¸”s‚µ‚½‚Ì‚ÅA
Žc”O‚È‚ª‚çA‚à‚¤•×‹­‚·‚鉿’l‚ª‚ ‚é‚ÆŽv‚¦‚È‚¢B
”|‚Á‚½‹Zp‚ÍASilverlight‚Æ‚©‚Ɏ󂯌p‚ª‚ê‚ê‚΂悢‚¯‚ÇB
‚¨‘O‚ª‚»‚¤Žv‚¤‚ñ‚È‚ç‚»‚¤‚È‚ñ‚¾‚낤
‚¨‘O‚ñ’†‚Å‚Í‚È
‘S‘RŠO‚µ‚Ă邯‚Ç‚ÈB
>>76
monoƒKƒ“–³Ž‹‚Æ‚Í‹°‚ê“ü‚é
EHTML‚ʼnæ–ʃfƒUƒCƒ“‚Å‚«‚é
‚Á‚Ä‚Ì‚àˆÓ–¡•s–¾‚¾‚ªB
¡‚·‚®ƒR[ƒh‚ð‘‚¢‚Ä—ˆT‚ɂ͊‹«ˆË‘¶‚Å‚à‚È‚ñ‚Å‚à‚¢‚¢‚©‚ç‚Æ‚É‚©‚­“®‚­•¨‚ð”[•i‚µ‚È‚«‚á‚¢‚¯‚È‚¢‚Ì‚É
‚»‚ñ‚ȉ“‚¢–¢—ˆ‚̘b‚â‚ç—‘z˜_‚ð^–Ê–Ú‚ÉŒê‚ç‚ê‚Ä‚à‚È‚ 
‚Ü‚ Šw¶‚³‚ñ‚Í‚ª‚ñ‚΂Á‚Ä‚Ë‚Æ‚µ‚©
ƒfƒXƒNƒgƒbƒvƒAƒvƒŠ‚Ń}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‚È‚ñ‚ătƒ@ƒ“ƒ^ƒW[‚Ü‚¾M‚¶‚Ä‚él‚¢‚½‚ñ‚¾
>>80
>‚Ü‚ Šw¶‚³‚ñ‚Í‚ª‚ñ‚΂Á‚Ä‚Ë‚Æ‚µ‚©
‚ ‚é‚ ‚éw

HTMLŠEŒG‚Í‚»‚¤‚¢‚¤‚Ì–{“–‚É‘½‚©‚Á‚½B
‚Ü[•W€ijÎ@‚É–²‚Ý‚ñ‚Ì‚ÍŠw¶‚Ü‚Å‚É‚µ‚Æ‚¯‚Á‚Ä‚±‚Á‚½‚È
HTML5‚¾‚Á‚Ä‚Ü‚½‚Ç[‚¹ƒuƒ‰ƒEƒUˆË‘¶‚Ågdgd‚¾‚æ
‘D“ª‘½‚­‚ÄãŽè‚­s‚Á‚½—á‚È‚ñ‚©Œ©‚½‚±‚Æ‚È‚¢‚í
84 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 16:47:43
.NET4‚Ì“§‰ßƒZƒLƒ…ƒŠƒeƒBƒ‚ƒfƒ‹‚ª•ª‚©‚è‚Ü‚¹‚ñB
—Ⴆ‚ÎFileIOPermission‚ª§ŒÀ‚³‚ꂽƒTƒ“ƒhƒ{ƒbƒNƒX‚ÌTransparentƒR[ƒh‚©‚ç
SafeCritical/Critical‚̃AƒZƒ“ƒuƒŠ‚Ö‚Ì‘JˆÚ‚µ‚ÄFileIO‚ðs‚¤ê‡‚ÉA
‘JˆÚ‚µ‚½‚±‚Æ‚ÅŽ©“®“I‚ÉŠ®‘SM—Š‚É‚È‚èƒtƒ@ƒCƒ‹‘€ì‚ªo—ˆ‚é‚悤‚É‚È‚é‚Ì‚©A
Assert‚ª•K—v‚È‚Ì‚©‚±‚Ì•Ó‚Í‚Ç‚¤‚È‚Ì‚Å‚µ‚傤B
>>83
ijÎ@
ƒvƒŠƒ“ƒgƒXƒNƒŠ[ƒ“‚âŠO•”ƒc[ƒ‹‚̉æ–ʃLƒƒƒvƒ`ƒƒ‚ʼnæ–Ê‚ðŽB‚ç‚ê‚È‚¢‚悤‚ÉA
ƒLƒƒƒvƒ`ƒƒŽž‚ɃEƒBƒ“ƒhƒE‚ɉ摜‚ð”킹‚é‚Æ‚©‚̃}ƒXƒNˆ—‚ð‚µ‚½‚¢‚Å‚·B
iAcrobat‚Å“¯‚¶‚悤‚È‚±‚Æ‚ð‚â‚Á‚Ä‚é‚ÆŽv‚¢‚Ü‚·j

.NET‚ʼnæ–ʃLƒƒƒvƒ`ƒƒƒCƒxƒ“ƒgE‚¦‚È‚¢‚©‚È‚Ÿ‚Æ’T‚µ‚Ä‚é‚ñ‚Å‚·‚ªA
‚»‚ê‚Á‚Û‚¢î•ñ‚ÉŒ©‚ ‚½‚ç‚È‚¢‚Å‚·B

‰½‚©‚â‚è‚悤‚ª‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©B
>>86
‚»‚ꔲ‚¯“¹‚½‚­‚³‚ñ‚ ‚é‚©‚ç‚â‚邾‚¯–³‘Ê‚¾‚æ
>>87
—Ⴆ‚΂ǂñ‚È‚Ì‚Å‚·H
ƒfƒWƒJƒ‚ÅŽB‚éB
90 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 18:22:58
ƒ[ƒŒƒxƒ‹‚È‚Æ‚±‚ë‚ŃtƒbƒN‚È‚ñ‚ÄŽg‚í‚ꂽ‚ç‚Ç‚¤‚µ‚悤‚à‚È‚¢‚µ‚È‚ 
flashƒQ[ƒ€‚Ȃǂ̃`[ƒg‚ÌÛ‚ÉŽg‚¤ƒc[ƒ‹‚͕ʃvƒƒZƒX‚̃ƒ‚ƒŠ
”`‚«•ú‘肾‚µ‚Ë‚¦

windows‚ÅŠ®àø‚ȃvƒƒeƒNƒg‚Í–³—‚ÆŽv‚Á‚½‚Ù‚¤‚ª‚¢‚¢‚æ
>>86
OS‚ªŠæ’£‚Á‚ĕی삵‚Ä‚¢‚é’nƒfƒW‚ð•\Ž¦‚µ‚Ä‚¢‚éWMC‚̉æ–Ê‚à
ƒLƒƒƒvƒ`ƒƒ‚Å‚«‚éƒAƒvƒŠ‚ª‚ ‚é‚Ì‚É‚Ç‚¤‚â‚Á‚ăuƒƒbƒN‚Å‚«‚é‚ÆŽv‚¤‚ñ‚¾H
>>90
‚¤[‚ñA‚¶‚á‚ —Ⴆ‚ÎAƒNƒ[ƒYƒh‚ȎГàƒVƒXƒeƒ€‚©‰½‚©‚ÅA
ƒ†[ƒU‚ªŸŽè‚Ƀ\ƒtƒg‚âƒc[ƒ‹‚ð’ljÁ‚Å‚«‚È‚¢‚Á‚Ä‘O’ñ‚È‚ç‚Ç‚¤‚Å‚µ‚傤B
ŽÐˆõ‚ÉPCŽg‚킹‚È‚¯‚ê‚΂¢‚¢‚ñ‚¶‚á‚ËH
94 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 18:53:16
”Ä—p‚ÌOS‚â”Ä—p‚Ì•”•iŽg‚Á‚Ă邤‚¿‚Í–³—‚¾‚µ‚È‚ 
‚»‚ê‚Éŋ߂̃}ƒVƒ“‚̓fƒBƒXƒvƒŒƒCƒAƒEƒg‚ª‚‰æŽ¿‚¾‚µ
‚»‚êŒo—R‚ÅŠÈ’P‚ɃLƒƒƒvƒ`ƒƒ‚Å‚«‚¿‚Ⴄ‚©‚çƒtƒbƒNŒn‚¾‚¯‹C‚É
‚µ‚Ä‚ê‚΂¢‚¢‚킯‚¶‚á‚È‚¢‚µ‚Ë
‚ ‚Æ>>89‚̂悤‚È‚Ì‚à‚ ‚邵‚—
‚¤[‚ñA“Ç‚ÝŽæ‚ê‚é‚悤‚É‚·‚é‚Ì‚©‚ 
89‚ÍÅ‹­‚¾‚æ‚È
‰f‰æ‚ł̓vƒƒeƒNƒg—p‚Él‚Ì–Ú‚É‚Í•ª‚©‚ç‚È‚¢‚悤‚ÉÔŠOü‚ào—Í‚µ‚Ä
ƒJƒƒ‰‚ÅŽB‚Á‚½‚ç‚Ü‚Æ‚à‚ÉŒ©‚ê‚È‚¢‚悤‚É‚µ‚Ä‚é‚Æ‚¢‚¤‚à‚Ì‚ª‚ ‚Á‚½‚ÆŽv‚Á‚½B
>>97
(>_<) c
>>97
‚»‚ê‚ÍŽÀŒ±’iŠK‚ÅA“±“ü‚µ‚½Œ€ê‚Í‚Ü‚¾‚È‚©‚Á‚½‚Í‚¸B

‚¤‚¿‚̉ïŽÐ‚̓fƒWƒJƒŽ‚¿ž‚Ý‹ÖŽ~BƒJƒƒ‰•t‚«Œg‘Ñ‚à‹ÖŽ~‚ÅA“üŽÐ‚·‚é‚Æ‹­§“I‚É‹@Ží•Ï‚³‚¹‚ç‚ê‚éB
100 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 20:20:47
>>99
ƒJƒƒ‰‚È‚µŒg‘Ñ’T‚·‚Ì‘å•Ï‚¶‚á‚ËH‚—
‚»‚¤‚¢‚âŽç”é‹`–±Žç‚邽‚ß‚É
ƒvƒŠƒ“ƒ^o—Í‹ÖŽ~‚Æ‚©USB‘‚«ž‚Ý‹ÖŽ~‚·‚éƒVƒXƒeƒ€‚ÍŒ‹\‚ ‚邯‚Ç
ƒfƒWƒJƒ‘jŽ~‚·‚é‚悤‚È‚Ì‚Í‚ ‚ñ‚Ü‚è‚È‚¢‚ËB
í‚Ƀ‚ƒjƒ^‚Ì‘O‚ðWebƒJƒ€‚ÅŽB‚Á‚ÄAƒfƒWƒJƒ‚É—Þ‚·‚é‹@Ší‚ðŒŸo‚µ‚½‚ç‰æ–Ê‚ð
Ø‚è‘Ö‚¦‚é‚悤‚ÈŽd‘g‚Ý‚ðì‚ê‚΂¢‚¢‚ñ‚¶‚á‚ËH
ƒŒƒxƒ‹‚Ì‚‚¢ƒXƒŒ‚Å‚·‚ËB
–l‚à‚¢‚‚©‚ÍŠF‚³‚ñ‚̂悤‚È‚“x‚Șb‘è‚ð“WŠJ‚Å‚«‚é‚悤‚ɂȂ肽‚¢‚ÆŽv‚¢‚Ü‚·B
ƒfƒWƒJƒ‘Îô‚·‚é‚È‚çA
OS‚âƒ\ƒtƒg‚¶‚á‚È‚­ƒ‚ƒjƒ^‚ɂ‚¯‚éƒXƒNƒŠ[ƒ“‚âƒV[ƒg‚Ì–ðŠ„‚¶‚á‚ËH
‚È‚ñ‚Æ‚©‚µ‚ăfƒWƒJƒ‘jŽ~‚µ‚½‚Æ‚µ‚Ä‚à
Žè‘‚«‚̃ƒ‚‚Æ‚©”]“àƒRƒs[‚Í‚Ç‚¤‚µ‚悤‚à‚È‚¢‚æ‚È
>>102
Web ƒJƒ€‚ÅŠç”FŽ¯‚µ‚Ä PC ‚Ì‘O‚Él‚ª‚­‚é‚ƃ[ƒ‹”ò‚·ƒAƒvƒŠ‚ÍŒöŠJ‚³‚ê‚Ä‚½‚ÈB
>>105
‚Ü‚ Aˆ«ˆÓ‚ ‚郄ƒc‚Í‚Ç‚¤–hŒäü’£‚Á‚Ä‚àæ‚è‰z‚¦‚Ä“‚Þ‚Á‚Ä‚±‚Æ‚¾‚ÈB
ƒ\ƒtƒg‚âƒn[ƒh‚Å‚ÍAˆ«ˆÓ–³‚­˜R‰k‚µ‚Ä‚µ‚Ü‚¤ê‡‚Ì‘Îô‚¾‚낤‚ÈB
>>100
‚à‚Ì‚·‚²‚­‘I‘ðŽˆ‚ª‹·‚­‚Ȃ邯‚ÇA‚ ‚邱‚Æ‚Í‚ ‚éB
‚¾‚©‚瓯Šú‚Í‚Ù‚Æ‚ñ‚Ç‚Ý‚ñ‚È“¯‚¶‹@ŽíB‹æ•Ê‚·‚邽‚߂ɃXƒgƒ‰ƒbƒv•K{B
>>99
‚Ü‚¾“±“ü‚³‚ê‚Ä‚È‚¢‚Ì‚©B
‰f‰æ‚ðŒ©‚é‚½‚тɃ~ƒXƒ^[VTR‚ªo‚Ä‚­‚é‚Ì‚ªŸT“©‚µ‚­Žv‚¤‚ñ‚¾‚æ‚ËB
>>108
‚à‚µIT‚ÌŽdŽ–‚ɂ‚¢‚ĂăXƒ}ƒz‚ªŽg‚¦‚È‚¢‚Á‚Ä‚Ì‚Í–Ü‘Ì–³‚¢‚ÆŽv‚¤‚ñ‚¾‚ªA
“‚¢‚Æ‚±‚낾‚æ‚ÈBBB
•W€ƒXƒNƒŠ[ƒ“ƒVƒ‡ƒbƒg‚ð••‚¶‚½‚¢‚Ì‚È‚çƒI[ƒo[ƒŒƒCŽg‚¦‚΂¢‚¢‚¶‚á‚È‚¢
‚ÆŒ¾‚¨‚¤‚ÆŽv‚Á‚½‚ªAero‚¾‚ƃI[ƒo[ƒŒƒC‚»‚Ì‚à‚Ì‚ª‚È‚©‚Á‚½‚Å‚²‚´‚é‚ÌŠª
>>99
ƒgƒˆƒ^H
Œ»ÝC#‚ðŽg‚Á‚ÄWEBƒy[ƒW‚©‚çƒf[ƒ^‚ðŽæ“¾‚µ‚悤‚Æl‚¦‚Ä‚¢‚Ü‚·B
url‚ðŽw’肵‚Ď擾‚·‚邱‚Æ‚Í‚Å‚«‚½‚Ì‚Å‚·‚ªAajax‚É‚æ‚Á‚Ä‘—M‚³‚ê‚Ä‚­‚éƒf[ƒ^‚ðŽæ“¾‚Å‚«‚È‚­‚Ä¢‚Á‚Ä‚¢‚Ü‚·B
postŒ`Ž®‚Ńf[ƒ^‚ð‘—M‚µ‚Ä‚¢‚邱‚Æ‚Ífirebug‚ðŽg‚Á‚Ä‚í‚©‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
‚Ç‚¤‚·‚ê‚΂»‚Ìpostƒf[ƒ^‚ðŽg‚Á‚Äxml‚ðŽæ“¾‚Å‚«‚é‚Ì‚©‚ª‚í‚©‚è‚Ü‚¹‚ñB

WebClient wc = new WebClient();
byte[] res_data = wc.UploadValues(url, post);

‚±‚ñ‚ÈŠ´‚¶‚Å‚â‚Á‚Ä‚Ý‚½‚Æ‚±‚ë‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
‚½‚Ô‚ñŽg‚¤ƒƒ\ƒbƒh‚ªŠÔˆá‚Á‚Ä‚¢‚é‚ÆŽv‚¤‚Ì‚Å‚·‚ªA‰½‚ðŽg‚¦‚΂¢‚¢‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñB
‚Ç‚È‚½‚©‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

ƒXƒNƒŠ[ƒ“ƒVƒ‡ƒbƒg••‚¶‚é‚Æ–³ðŒ‚ʼn¼‘zŠÂ‹«ƒŠƒ‚[ƒgƒfƒXƒNƒgƒbƒv•s‰Â‚Æ‚¢‚¤
ƒnƒ‹Z‚Ɋׂé‚ñ‚¶‚á‚È‚¢‚©H
115 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 23:26:29
‚»‚Ì•Ó‚Í‚±‚Ì•Ó‚Å‚â‚Á‚½•û‚ª‚¢‚¢‚©‚à‚Ë
http://www.atmarkit.co.jp/fdotnet/dotnettips/318webpost/webpost.html
116 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 23:27:34
ŠÔ“ü‚Á‚½‚©
>>115‚Í>>113‚Ö
ƒpƒPƒbƒgƒLƒƒƒvƒ`ƒƒ‚µ‚Ä‚Ý‚ê‚ÎH
>>113
ajax‚Á‚ÄŒ¾‚Á‚Ä‚é‚©‚çA‘½•ªJSON‚©SOAP‚ÅWSDL‚Ì‚Ç‚¿‚ç‚©B‚Æ‚©’m‚Á‚½‚©‚µ‚Ă݂悤B
119 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/23(“ú) 23:32:31
>>118
‚»‚Ì•Ó‚¾‚Á‚ÄŒ‹‹Çpost‚©getƒŠƒNƒGƒXƒgì‚Á‚Ä’ÊM‚µ‚Ă邾‚¯‚Å‚µ‚åH
>>115‚ʼn”\‚¾‚æ
>>113
C#‚Åpost‚µ‚ÄA‚»‚̃ŒƒXƒ|ƒ“ƒX‚ª—~‚µ‚¢‚Á‚Ä‚±‚Æ‚©‚ÈH

Ajax‚Á‚Ä‚àA•’Ê‚ÌHTTP‚Ìpost’ÊM‚¾‚©‚çA
HTTPƒŠƒNƒGƒXƒg‚ÆHTTPƒŒƒXƒ|ƒ“ƒX‚ðŽg‚Á‚½‚ç‚Å‚«‚È‚¢‚©‚ÈH

Œ©“–ˆá‚¢‚Ì‚±‚ÆŒ¾‚Á‚Ä‚½‚çƒSƒƒ“B
>>99
‚ ‚ A‹t‚ɃUƒ‹‚̃pƒ^[ƒ“‚¾‚È‚»‚ê
ƒZƒLƒ…ƒŠƒeƒB‚ɂ‚¢‚Ä‚Ü‚¶‚ß‚ÉŽæ‚è‘g‚Ü‚È‚¢‚©‚ç‚»‚ñ‚ÈŽG‚È‚±‚Æ‚É‚È‚Á‚Ä‚é
>>113
POST ‚·‚ê‚Îs‚¯‚é‚Í‚¸‚È‚Ì‚É wc.UploadValues ‚Ås‚¯‚È‚¢ê‡A
‚Ђå‚Á‚Æ‚µ‚½‚當ŽšƒR[ƒh‚Ì–â‘è‚©‚àB
WebClient ‚Ì UploadValue ‚Í utf8 ‚Å‚µ‚© URL ƒGƒ“ƒR[ƒfƒBƒ“ƒO‚µ‚Ä‚­‚ê‚È‚¢B
sjis ‚Æ‚© euc ‚Ìê‡‚Í « ‚Æ‚©‚ðŽQÆB
http://dobon.net/vb/dotnet/internet/webrequestpost.html
123 F113F2010/05/24(ŒŽ) 00:00:53
>>115,117,118,119,120,122
ŠF—lƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
–³Ž–Žæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚µ‚½B
‚Ç‚¤‚â‚ç–â‘è‚Í122‚³‚ñ‚ª‚¨‚Á‚µ‚á‚Á‚Ä‚¢‚½’ʂ蕶ŽšƒR[ƒh‚Å‚µ‚½B
–{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
ƒZƒLƒ…ƒŠƒeƒB‘Îô‚Á‚ÄŒ‹‹Ç‚͑ΊO“I‚ȃ|[ƒY‚ɉ߂¬‚È‚¢‚ñ‚¾‚낤‚ÈB
ˆ«ˆÓ‚Ì‚ ‚élŠÔ‚ɑ΂µ‚Ă͉½‚ð‚â‚Á‚Ä‚à–³‘Ê‚È‹C‚ª‚·‚éB
”Æߎҗ\”õŒR‚ð’ú‚ß‚³‚¹‚邽‚ß‚Ì—}Ž~—Í‚Æ‚µ‚Ä‘ŠŽè‚ɃZƒLƒ…ƒŠƒeƒB‘Îô‚µ‚Ä‚é‚æ‚Á‚Ä‚±‚Æ‚ª“`‚í‚邾‚¯‚Å‚¢‚¢‚ñ‚¾‚æ
‚»‚±‚©‚ç“¥‚Ýž‚ñ‚Å‚­‚é‚â‚‚͎d•û‚È‚¢
‚»‚¤‚¾‚æ‚ËB
‚»‚±‚ç‚Ö‚ñ‚É—Ž‚¿‚Ä‚éƒc[ƒ‹‚ÅUŒ‚‚µ‚Ä‚­‚é‚悤‚È‚Ì‚ð‚͂˂邾‚¯‚Å‚à
[•ª‚ÈŒø‰Ê‚ª‚ ‚é‚ÆŽv‚¤‚º
‚ÅA—}Ž~—Í‚Æ‚µ‚ẴvƒŠƒ“ƒgƒXƒNƒŠ[ƒ“‹ÖŽ~‚Í‚Ç‚¤‚â‚è‚á‚¢‚¢‚Ì
ƒL[ƒ{[ƒh‚©‚ç PrintScreenƒL[‚ðŠO‚·B
ƒXƒNƒŠ[ƒ“ƒL[ƒ{[ƒh‚©‚ç PrintScreenƒL[‚ðŠO‚·‚Ì‚Á‚Ä‚Ç‚¤‚â‚é‚ÌH
>>127
‚³‚ª‚µ‚Ä‚«‚½‚¼[ VB.net‚¾‚¯‚Ç
ttp://www.codeguru.com/vb/gen/vb_system/keyboard/article.php/c4831
–{‹C‚Å‚â‚é‚È‚çƒhƒ‰ƒCƒoƒŒƒxƒ‹‚Å–³Œø‰»‚µ‚悤‚º
ƒJƒƒ‰‚ÅŽB‰e‚³‚ꂽ‚ç(ry
ŠÄŽ‹ƒJƒƒ‰
‚³‚·‚ªC#ƒXƒŒ
‚ê‚ׂé‚Ì‚½‚©‚¢‚Õ‚ë‚®‚ç‚Þ‚¾‚ñ‚¬‚Å‚·‚Ë
List<>‚Ì‘S—v‘f’†‚ÌðŒ‚É‚ ‚¤—v‘f‚ð휂µ‚½‚¢ê‡A
foreach‚¶‚á‚È‚­‚Äfor‚ÅCount•ª‚¾‚¯‰ñ‚µ‚Ä휂µ‚½Žž‚¾‚¯i--‚·‚é‚Á‚Ä‚¢‚¤‚Ì‚ªˆê”Ê“I‚Å‚·‚©‚ËH
Œã‚ë‚©‚ç휂·‚é
RemoveAll
Œã‚ë‚©‚ç휂·‚é•û–@‚à‚ ‚è‚Ü‚·‚ËB
‚Ç‚¿‚ç‚É‚¹‚æfor‚Å“DL‚­‚â‚é‚ñ‚Å‚·‚ËB
‚à‚Á‚ƃXƒ}[ƒg‚È‚â‚è•û‚ª–³‚¢‚Ì‚©‹C‚É‚È‚Á‚½‚¾‚¯‚Å‚µ‚½B
‚à‚¢‚Á‚±List<>ì‚Á‚Äforeach‚ÅŽc‚·“z‚¾‚¯ƒRƒs[‚µ‚Ä·‚µ‘Ö‚¦B
‚Æ‚µ‚Ä‚¢‚邪–â‘è‚Í‚È‚¢Biì‚è‚É‚æ‚é‚©‚à‚µ‚ê‚È‚¢‚ªj
select‚µ‚Ädelete‚Æ‚©‚Å‚«‚È‚¢‚ñ‚¾‚Á‚¯B
‚à‚µ‚­‚Ídeleteif‚Ý‚½‚¢‚È‚Ì‚Æ‚©B
142 F141F2010/05/26(…) 00:17:18
‚·‚Ü‚ñ‚·‚Ü‚ñB137‚Å‰ðŒˆ‚µ‚Ä‚½‚í
Œ©“¦‚µ‚Ä‚Ü‚µ‚½B
>>137‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
RemoveAll‚Á‚ÄAll‚Á‚Ä–¼‘O‚ªˆ«‚¢‚æ‚È
—v‘f‘S•”Á‚·‚Ý‚½‚¢‚ÉŽv‚¦‚邶‚á‚ñ
‰ïŽÐ‚¶‚á–¢‚¾‚ÉVS2005‚¾‚©‚瓽–¼ƒƒ\ƒbƒh‚ª‘‚«‚É‚­‚­‚Ä¢‚éB
146 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/26(…) 00:24:53
>>144
‚Ü‚ Clear‚ª‚ ‚é‚©‚ç‚È‚ 
uClear‚ÍŽQÆ‚ðnull‚É‚µ‚ÄŽÀ‘Ì‚ÍGC‚É‚¨‚Ü‚©‚¹ARemoveAll‚ÍŽÀ‘Ì‚à“¯Žž‚ÉÁ‚·v
‚Ý‚½‚¢‚È‹@”\‚ª‚ ‚é‚Ì‚©‚ÈH‚ÆŽv‚Á‚½
‚»‚ê‚É‚µ‚Ä‚à‚È‚ñ‚Å"All"‚È‚ñ‚¾
148 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/26(…) 00:31:16
>>147
Clear‚̓ŠƒXƒg‘S•”Ø‚è—£‚·‚Í‚¸‚¾‚æ‚—
Remove‚ÍŽw’肵‚½•¨‚ðRemoveAll‚ÍŠY“–‚·‚é‚à‚Ì‘S•”‚Á‚Ä‚±‚Æ‚¶‚á‚È‚¢‚ÌH
FindAll‚Æ•À‚ׂ½‚©‚Á‚½‚ñ‚¶‚á‚È‚¢‚©‚È
‚Ý‚ñ‚È‚àˆê“x‚ÍRemoveRange‚µ‚©‚Ë[‚¶‚á‚È‚¢‚©‚Æ‚¢‚ç‚‚¢‚½ŒoŒ±‚ª‚ ‚é‚Ì‚©
>>137
–Ú‚©‚ç—Ø‚Å‚·
>>144
Clear‚Ì—§ê‚ÍEEE
fortran‚Ìwhere•¶‚Ý‚½‚¢‚Ì‚Ë‚¦‚Ì‚©‚È
LINQ‚ÌWhere‚¶‚áƒ_ƒ‚È‚ñH
>>148
ŠÌS‚ÌuŠY“–‚·‚é‚à‚Ìv‚Á‚Ä•”•ª‚ªŒ‡‚¯‚Ă邾‚ë‚—
‚قق¤
RemoveAll‚ÍA‚ ‚Æ‚©‚ç’ljÁ‚³‚ꂽHashSet‚Å‚Í”½È‚µ‚Ä‚©–¼‘O‚ªRemoveWhere‚É‚È‚Á‚Ä‚é‚ËB
IList<T>&IDictionary<TKey, TValue> c RemoveAll
ISet<T>iHashSet&SortedSetj c RemoveWhere
ƒŠƒXƒg‚ÆŽ«‘‚ªRemoveAll‚Ȃ͉̂ߋŽ‚̃o[ƒWƒ‡ƒ“‚Æ‚Ì®‡«‚à‚ ‚Á‚ÄŽd•û‚È‚¢‚©B
RemoveIf ‚ª‚æ‚©‚Á‚½
’ljÁ‚µ‚ÄRemoveAll‚ðobsolute‚É‚·‚ê‚΂悩‚Á‚½‚Ì‚É‚»‚¤‚µ‚È‚©‚Á‚½‚̂ɂ͉½‚©ˆÓ}‚ªAAA‚È‚³‚»‚¤‚¾‚È
‚»‚ñ‚È‚±‚Æ‚µ‚½‚ç‚Ù‚Æ‚ñ‚ǂ̃vƒƒWƒFƒNƒg‚ÅŒxo‚Ü‚­‚Á‚Ä‚¦‚ç‚¢‚±‚Æ‚É‚È‚é
‚Ù‚ñ‚Æ‚ÍList<T>‚ÌFind**/Exists/TrueForAll‚ ‚½‚è‚à
LINQ‚ª–³‚©‚Á‚½‚±‚ë‚̈╨‚È‚Ì‚Å(ŽÀÛSilverlight‚Å‚Ííœ)Œ¬•À‚ÝObsolete‚É‚·‚é‚ׂ«
TrueForAll ‚ð‘f’¼‚É LINQ ‚Å‘‚­‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì
Enumerable.All
>>155
”²‚¯‚Ä‚¢‚é‚悤‚É‚ÍŽv‚¦‚È‚¢‚ª....
RemoveAll@‚·‚ׂĂ킷‚ê‚é
ŽÀۂɃR[ƒh’†‚ÅŽg‚¤‚Æ‚«‚͈ø”ž‚݂ňӖ¡‚͒ʂ邾‚ë
‚Å‚àIndexOf‚ƈá‚Á‚ÄRemoveAll‚¾‚¯‚Å‚àˆÓ–¡‚ª’Ê‚Á‚¿‚Ⴄ‚©‚ç
ƒCƒ“ƒeƒŠƒZƒ“ƒX‚âMSDN‚Å–¼‘O‚¾‚¯•À‚Ô‚Æ‚í‚©‚è‚Â炢‚È
Listview‚ɂ‚¢‚ÄŽ¿–₳‚¹‚ĉº‚³‚¢B
‚â‚肽‚¢Ž–‚ÍA
•¡”‚ÌListView‚ª‚ ‚èA‚»‚ꂼ‚ê‚Å•¡”‚Ì€–Ú(item)‚ð‘I‘ð‚µ‚½ó‘Ô‚ðì‚肽‚¢‚Å‚·B
‚S‚‚قǂÌListView‚ðì‚èA‚»‚ꂼ‚ê‚Å‚PC‚Q€–ÚA‡‚킹‚Ä‚U[‚W€–Ú‚ð‘I‘ð‚µ‚ÄAƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½‚çA‚»‚ê‚ÉŒ©‡‚¤ƒf[ƒ^‚ðŽæ“¾‚·‚é‚Æ‚¢‚¤ƒCƒ[ƒW‚Å‚·B
æ’öAì‚Á‚Ä‚Ý‚½ŠAListView‚̃tƒH[ƒJƒX‚ð•Ê‚ÌListview‚Ɉڂ·‚ÆA‚»‚ê‚Ü‚Å‘I‘ð‚µ‚½€–Ú‚ª@h”ñ‘I‘ð" ‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚±‚¤‚È‚ç‚È‚¢•û–@‚Í‚È‚¢‚Å‚µ‚傤‚©H

êˆá‚¢‚ÈŽ¿–â‚Æ‚¢‚¤Ž–‚Å‚ ‚ê‚ÎA‘¼‚̃XƒŒƒbƒh‚ðЉ‚Ä‚¢‚½‚¾‚¯‚é‚Æ•‚©‚è‚Ü‚·B
microsoft visual c# 2008 express‚ðŽg‚¢Žn‚ß‚Ä‚R“ú–Ú‚ÅA
¡‚Ü‚Å‚Í ŠÈ’P‚Èscript(ruby, javascript)‚ð‘‚¢‚½ŒoŒ±‚ª‚ ‚é‚­‚ç‚¢‚Å‚·B
ƒsƒ“ƒg‚ª‚¸‚ê‚Ä‚é‚Ì‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B





168 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/27(–Ø) 00:33:43
‚È‚É‚©‚ ‚Á‚½‚È
•ÛŽ‚·‚éÝ’è
169 F167F2010/05/27(–Ø) 00:35:25
>>168
ƒvƒƒpƒeƒB‚ð’T‚¹‚΂ ‚è‚»‚¤‚Å‚·‚©H’T‚µ‚Ä‚Ý‚Ü‚·B
170 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/27(–Ø) 00:42:25
‚ ‚Á‚½
HideSelection‚ðtrue‚É‚·‚é‚Æ‹­’²•\Ž¦‚È‚µ
false‚É‚·‚é‚Æ‹­’²•\Ž¦‚ ‚è
171 F167F2010/05/27(–Ø) 00:48:04
>>170‚³‚ñA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Šm‚©‚É HideSelection ‚ð false‚É‚µ‚½‚Æ‚±‚ëA‘I‘ð‚µ‚½Œã‚ªŽc‚Á‚Ä‚Ü‚µ‚½B
¡‚©‚çAlistView2.SelectedItems‚Å‘I‘ð‚µ‚½item‚ªŽæ‚ê‚é‚©Šm”F‚µ‚Ü‚·B
172 F167F2010/05/27(–Ø) 00:52:13
ListView3.SelectedItems‚ÅŽæ‚ê‚Ä‚Ü‚µ‚½B@
‚¨‚©‚°‚ňê•à‘Oi‚µ‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‚Æ‚ ‚éƒtƒ@ƒCƒ‹‚ðŠÄŽ‹‚µ‚ÄA‚»‚̃tƒ@ƒCƒ‹‚É•ÏX‚ª‚ ‚Á‚½ê‡A‚»‚̃tƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚Á‚Ĉ—‚ðs‚¢‚½‚¢‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B

‚µ‚©‚µAƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚Ì’†‚Å•ÏX‚³‚ꂽƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚낤‚Æ‚·‚é‚ÆATargetInvocationException‚ª”­¶‚µ‚Ü‚·B
new StreamReader(e.FullPath)‚Ì•”•ª‚Å—áŠO‚ªo‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·‚ªA‚Ç‚¤‚·‚ê‚Γǂݎæ‚ê‚é‚Å‚µ‚傤‚©H

¡ƒ\[ƒX
private void watcher_Changed(System.Object source, System.IO.FileSystemEventArgs e){
@using (StreamReader sr = new StreamReader(e.FullPath)){
@}
}
174 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/27(–Ø) 07:47:04
>>173
ƒtƒ@ƒCƒ‹‚ÌŠÄŽ‹‚Æ‚©‚È‚çAFileSystemWatcher‚¶‚á‚È‚¢‚ÌH
Žg‚Á‚½‚±‚Æ‚È‚¢‚¯‚Ç
RemoveAll()‚Á‚ÄC‚Ìcreat()‚É’Ê‚¶‚é‚à‚Ì‚ðŠ´‚¶‚é‚È
e.FullPath‚Í‚¿‚á‚ñ‚Æ—LŒø‚ȃpƒX‚É‚È‚Á‚Ä‚¢‚é‚Ì‚©
>>173
TargetInvocationException‚ÌInnerException‚ÍH
ƒtƒ@ƒCƒ‹‚ð•ÏX‚µ‚Ä‚éƒvƒƒOƒ‰ƒ€‚ª‚Ü‚¾ƒƒbƒN’†‚È‚ñ‚¶‚á‚È‚¢H
>>177
‚Å‚«‚Ü‚µ‚½‚ ‚肪‚Æ‚¤B

using(FileStream fs = new FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using(StreamReader sr = new StreamReader(fs)){
string strLine = sr.ReadLine();

@@ˆÈ‰ºÈ—ªEEE
—Ø‚©‚ç–Ú‚Å‚·
JaneStyle‚È‚Ç‚Ì2chêƒuƒ‰‚Ì‹@”\‚ÌAu>>170v‚ȂǂɃ}ƒEƒXƒzƒo[‚·‚é‚ÆA>>170‚Ì“à—e‚ªo‚Ä‚«‚Ü‚·B
‚±‚ê‚ðlistview‚Å‚â‚肽‚¢‚ñ‚Å‚·‚ªA‚ǂ̂悤‚ÉŽÀ‘•‚·‚ê‚Ηǂ¢‚Å‚µ‚傤‚©H
VisualStudio2008‚ðŽg‚Á‚Ä‚¢‚Ü‚·B

¡ƒCƒ[ƒW
–¼‘O@@ÚׂP@@ÚׂQ@@ÚׂR
test1@ ‚ @@@@@‚¢@@@@ ‚¤
test2@ ‚©@@@@@‚«@@@@ ‚­@@@@@©‚±‚Ìs‚Ń}ƒEƒXƒzƒo[‚³‚ꂽ‚ç–¼‘O‚ÆÚׂP‚Ì“à—e‚©‚çA•\Ž¦‚·‚é“à—e‚ðŒˆ‚ß‚é
test3@ ‚³@@@@@ ‚µ@@@@ ‚·
181 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/28(‹à) 20:50:39
>>180
ƒ}ƒEƒXŠÖ˜A‚̃Cƒxƒ“ƒg‚Ń}ƒEƒX‚ªæ‚Á‚©‚Á‚Ä’âŽ~‚µ‚½‚ç`‚Æ‚©‚ ‚Á‚½‚Í‚¸
‚»‚ê‚Å”CˆÓ‚̃Rƒ“ƒgƒ[ƒ‹‚Å•\Ž¦‚·‚ê‚΂¢‚¢‚¾‚¯‚¿‚Ⴄ‚ÌH
>>181
Ž©•ª‚Ń}ƒEƒXƒzƒo[‚Æ‘‚¢‚Ä‚¨‚¢‚Ä\‚µ–ó‚È‚¢‚ñ‚Å‚·‚ª
MouseHover‚̃Cƒxƒ“ƒg‚ðŽg—p‚·‚é‚ÆA‚©‚È‚èd‚¢‚ñ‚Å‚·B
’†‚ʼn½‚àˆ—‚ð‚µ‚È‚­‚Ä‚à‚©‚È‚èd‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
183 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/28(‹à) 21:49:35
>>182
‚»‚ñ‚È‚Éd‚©‚Á‚½‚Á‚¯H
‚Ü‚ ‰½‚à‚µ‚È‚¢‚Á‚Ä‚Ì‚æ‚è‚Í‚»‚è‚ሗ‚·‚é‚Ì‚Å•‰‰×‚Í‘‚¦‚邾‚낤‚¯‚Ç‚³
•’Ê‚ÉToolTipŽg‚¦‚΂¦‚¦‚â‚ñ
>>183
ƒXƒgƒŒƒX‚ðŠ´‚¶‚é‚­‚ç‚¢‚É‚Íd‚¢‚Å‚·B
ƒ{ƒ^ƒ“‰Ÿ‰ºŽž‚É‘½­d‚­‚È‚é‚Ì‚Í‚¢‚¢‚ñ‚Å‚·‚ªAƒJ[ƒ\ƒ‹‚ðˆÚ“®‚³‚¹‚½‚¾‚¯‚Åd‚­‚È‚é‚Ì‚Í”ð‚¯‚½‚¢‚Å‚·B

>>184
ƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚í‚©‚ç‚È‚¢“_‚ª‚ ‚é‚Ì‚ÅA‚í‚©‚é‚悤‚Å‚µ‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢B

¡•s–¾“_
Eƒ}ƒEƒX‚ªListView‚Ì‚Ç‚Ìs‚Ìã‚É‚ ‚é‚Ì‚©Žæ“¾‚Å‚«‚é‚©Hi‘I‘ð‚³‚¹‚é‚킯‚Å‚Í‚È‚¢‚Ì‚Åselected‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
Es‚²‚Æ‚Éà–¾•¶‚ð•Ï‚¦‚鎖‚ª‚Å‚«‚é‚Ì‚©H
186 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/28(‹à) 23:33:11
>>186
Š®àø‚Å‚·B
‚ ‚肪‚Æ‚¤B
>>185
‚Í‚â‚­ƒŠƒŠ[ƒXƒrƒ‹ƒh‚Å‘¬“x‚ðŠm”F‚·‚éì‹Æ‚É“ü‚é‚ñ‚¾B

‰ðŒˆ‚µ‚½‚炵‚¢‚ªBBB
FreeTrain EX Av‚Æ‚¢‚¤AA—ñŽÔ‚Ås‚±‚¤4‚̃Nƒ[ƒ“‚ɂȂ肽‚¢ƒQ[ƒ€‚ðì‚Á‚Ä‚é‚Ì‚Å‚·‚ªB
http://sourceforge.jp/projects/freetrain-exav/
iÅVƒÀ‚ª2.1.1.5‚ÅAƒ\[ƒX‚Í’¼‰ºtrunk/ˆÈ‰º‚ªŠY“–‚µ‚Ü‚·j

ƒpƒ‰ƒ[ƒ^‚ðƒŠƒAƒ‹ƒ^ƒCƒ€•\Ž¦‚·‚éƒEƒBƒ“ƒhƒE‚ð’ljÁ‚µ‚Äs‚Á‚Ä‚½‚çAƒf[ƒ^ƒZ[ƒuŽž‚É“Á’è‚Ì
ƒEƒBƒ“ƒhƒE‚ð‚ ‚¯‚Á‚Ï‚È‚µ‚Ä‚¢‚é‚ƃGƒ‰[‚ª‹N‚±‚é‚悤‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½B
>ƒAƒZƒ“ƒuƒŠ 'FreeTrain.Core, Version=2.1.1.5, Culture=neutral, PublicKeyToken=null' ‚ÌŒ^
> 'freetrain.world.rail.StationInformationWindow' ‚̓VƒŠƒAƒ‹‰»‰Â”\‚Æ‚µ‚Äݒ肳‚ê‚Ä‚¢‚Ü‚¹‚ñB
ƒf[ƒ^‚̃Z[ƒuƒ[ƒh‚ÍBinaryFormatter‚ðŽg‚Á‚½ƒVƒŠƒAƒ‰ƒCƒY‚Å‚µ‚Ä‚¢‚Ü‚·B
ƒEƒBƒ“ƒhƒE‚ÌForm‚ðƒVƒŠƒAƒ‰ƒCƒY‚µ‚悤‚Æ‚µ‚Ä‚é‚킯‚Å‚Í‚È‚­Aƒpƒ‰ƒ[ƒ^‚̕ω»‚ðƒCƒxƒ“ƒg‹N‚±‚µ‚Ä
‚à‚ç‚Á‚Ä•\Ž¦‚ðƒŠƒtƒŒƒbƒVƒ…‚·‚邽‚ß‚ÉŽg‚Á‚Ä‚éƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ªŽQÆ‚ðŒÄ‚ñ‚Å‚±‚̃EƒBƒ“ƒhƒE
‚̃VƒŠƒAƒ‰ƒCƒY‚ð‚µ‚½‚ª‚Á‚Ä‚¢‚é‚Ý‚½‚¢‚È‚Ì‚Å‚·B

core/world/rail/Station.cs‚ª‰w–{‘Ì•”•ª‚ÅA‚±‚±‚ŃCƒxƒ“ƒg‚Ì錾‚ð
public delegate void StationCounterListener();
public StationCounterListener onStationChange;
‚Æ‚â‚Á‚Ä‚ÄA‰w‚Éæ~‚ª‚ ‚Á‚½‚Æ‚«‚ÉonStationChange();‚µ‚Ä‚Ü‚·B

ƒpƒ‰ƒ[ƒ^‚ð•\Ž¦‚µ‚Ä‚éƒEƒBƒ“ƒhƒE‚Ícore/controllers/rail/StationInformationWindow.cs‚Å
public StationInformationWindow( Station st ) {
this.station = st;
InitializeComponent();
onUpdate();
station.onStationChange += new StationCounterListener(onUpdate);
}
‚±‚±‚Åstation.onStationChange += ‚Ìs‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚é‚ƃGƒ‰[‚ª‚È‚­‚È‚è‚Ü‚·B
‚µ‚©‚µ‘¼‚É‚àƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ŃŠƒAƒ‹ƒ^ƒCƒ€‘‚«Š·‚¦‚µ‚Ä‚éƒEƒBƒ“ƒhƒE‘½”‚ ‚é‚̂ɃGƒ‰[‚É
‚È‚Á‚Ä‚È‚­‚ÄA‚È‚º‚±‚̃EƒBƒ“ƒhƒE‚¾‚¯‚È‚é‚Ì‚©‚ª•ª‚©‚ç‚È‚¢‚Ì‚Å‚·B
‚»‚ÌonUpdate‚ª‚Ç‚¤‚È‚Á‚Ä‚é‚©‚Ü‚¸ŽN‚¹
ƒƒMƒ“ƒO‚Élog4netŽg‚¨‚¤‚©‚ÆŽv‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇAlog4net‚ÄŽg‚¢‚É‚­‚­–³‚¢‚Å‚·‚©H
¡‚Ü‚ÅŽg‚Á‚Ä‚½Ž©ìLoggerƒNƒ‰ƒX‚Ístatic‚ȃƒ\ƒbƒh‚ðˆê”­ŒÄ‚Ô‚¾‚¯A‚Ý‚½‚¢‚ÈŠ´‚¶‚É‚µ‚Ä‚½‚ñ‚¾‚¯‚Ç
log4net‚¾‚ÆGetLoggerŒÄ‚ÔŽž‚̈ø”‚ª‚â‚Á‚©‚¢‚ÅAŠÈ’P‚ÉŽ©ìƒNƒ‰ƒX‚щƒbƒv‚Å‚«‚»‚¤‚É‚È‚¢‚µEEE

‘SƒNƒ‰ƒX‚Ì擪‚É
private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
‚Æ‚©‚¤‚ß‚±‚ñ‚Å
loger.Error("‚¦‚ç[");
‚Æ‚©‚ß‚ñ‚Ç‚­‚³‚¢‚È‚ŸB

‚±‚Ì•Ó‚Ç‚¤‚â‚Á‚Ä‰ðŒˆ‚µ‚Ä‚Ü‚·H
‚»‚ê‚Æ‚àNLogŽg‚Á‚Ä‚él‚Ì‚ª‘½‚¢H
192 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 03:56:56
>>191
TraceListener‚Å\•ª‚¾‚©‚çA‚»‚ñ‚È‚à‚ñŽg‚í‚ñ
ŽQl‚Ü‚Å‚É‹³‚¦‚Ä—~‚µ‚¢‚Ì‚Å‚·‚ªA>>186‚Å‚Å‚«‚é‚Ì‚ÍListView‚¾‚¯‚Å
checkedListbox‚Å‚Í‚Å‚«‚È‚¢‚Ì‚Å‚µ‚傤‚©H
‚à‚µ‚Å‚«‚é‚悤‚È‚ç‚»‚Á‚¿‚à‚¢‚ë‚¢‚ë‚â‚Á‚Ä‚Ý‚½‚¢‚Ì‚Å‚·‚ª
MSDN‚ðŒ©‚Ä‚à‚»‚ê‚炵‚¢ƒvƒƒpƒeƒB‚ª‘¶Ý‚µ‚È‚¢‚Ý‚½‚¢‚È‚ñ‚Å‚·B
194 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 08:36:30
ListboxŒn‚̃AƒCƒeƒ€‚ÌŠÇ—‚Ístring[]‚¾‚©‚ç‚È‚ 
tooltipŽg‚Á‚Ä‚Ý‚½‚¯‚ÇcheckedListbox‘S‘Ì‚Å‚Å‚¿‚Ⴄ‚È
ŒÂ•Ê‚Í‚Å‚«‚È‚©‚Á‚½
195 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 08:42:21
‚¨‚Á‚ÆŽ©•ª‚ÌŽ¿–â–Y‚ê‚é‚Æ‚±‚낾‚Á‚½

2ch‚Ì’ÊM‚ðƒ‚ƒjƒ^[‚·‚邾‚¯‚̃\ƒtƒg‚ðì‚肽‚¢‚ñ‚Å‚·‚ª
ŽQl‚É‚È‚é‚悤‚Èî•ñ‚ðˆµ‚Á‚Ä‚éƒTƒCƒg‚ð‚²‘¶’m‚È‚¢‚Å‚µ‚傤‚©H
‚à‚µ‚­‚̓qƒ“ƒg‚Å‚à‚©‚Ü‚¢‚Ü‚¹‚ñ
>>193
>186‚Ì1.1ˆÈ‘O‚Æ“¯‚¶‚â‚è•û‚Å‚â‚ê‚΂¢‚¢‚æ
GetItemAt‚Ì‘ã‚í‚è‚ÉIndexFromPointŽg‚Á‚Ä
197 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 08:58:15
C++‚Å‚¢‚¤
#include <shobjidl.h>
#include <shlguid.h>
‚ÍC#‚¾‚Ɖ½‚É‚È‚é‚Ì‚Å‚µ‚傤‚©H
>>197
‚ǂ̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚¢‚½‚¢‚Ì‚³
199 F197F2010/05/29(“y) 09:06:29
>>198
ƒVƒ‡[ƒgƒJƒbƒg‚̃Šƒ“ƒNæ‚ðŽæ“¾‚·‚é‚Ì‚Éusing‚ª•ª‚©‚è‚Ü‚¹‚ñ
200 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 09:09:01
>>199
using‚ð’m‚肽‚¢‚Ì‚Í‚í‚©‚é‚—
ƒwƒbƒ_[‚æ‚è‚Ç‚ÌŠÖ”‚Ì‘ã‚í‚è‚©‚Å•·‚¢‚½‚Ù‚¤‚ª‚¢‚¢‚æ
201 F189F2010/05/29(“y) 09:29:35
>>190
‚±‚ñ‚È‚©‚ñ‚¶‚Å‚·

private void onUpdate(){
// initialize the dialog
nameBox.Text = station.name;
label_loaded.Text = string.Format("{0} / {1}",station.LoadedToday,station.LoadedYesterday);
label_unloaded.Text = string.Format("{0} / {1}", station.UnloadedToday, station.UnloadedYesterday);
label_trains.Text = string.Format("{0} / {1}", station.TrainsToday, station.TrainsYesterday);
label_waiting.Text = string.Format("{0} / {1}",station.WaitingPassengers, station.population);
label_entering.Text = string.Format("{0} / {1}",station.WantEntering, station.entering);
label_LastUnloded.Text = station.lastUnloaded.ToString();
}
ŠÈ’P‚È‚Ì‚ÍShell32.dll‚ðCOM‚Æ‚µ‚ÄŽQÆݒ肵A
using Shell32;
‚ÅAZ:\Hoge.lnk‚̃Šƒ“ƒNæ‚𓾂éƒR[ƒh‚Í‚±‚ñ‚ÈŠ´‚¶B
ShellFolderItem‚ð’¼Ú“¾‚é•û–@‚ª‚ ‚ê‚΂¢‚¢‚ñ‚¾‚¯‚ÇA‚»‚ê‚Í•ª‚©‚ç‚ñB

Shell sh = new Shell();
Folder f = sh.NameSpace(@"Z:\");
foreach (ShellFolderItem i in f.Items())
{
if (i.IsLink && i.Path == @"Z:\Hoge.lnk")
{
Console.WriteLine(((ShellLinkObject)i.GetLink).Target.Path);
}
}
203 F202F2010/05/29(“y) 10:08:38
‚·‚Ü‚ñ
>>202‚Í>>199‚ÈB
>>201
‚»‚ê‚ÉŽg‚Á‚Ä‚éƒvƒƒpƒeƒB‚Ì‚Ç‚ê‚©‚ª“à•”“I‚ɃVƒŠƒAƒ‰ƒCƒYŽg‚Á‚Ä‚é‚©A
‚Ç‚Á‚©‚ŃVƒŠƒAƒ‰ƒCƒY‚µ‚Ä‚é‚Ì‚ª‚½‚Ü‚½‚Ü‘´ˆ‚Å”­‹¶‚·‚é‚©‚Ì‚Ç‚Á‚¿‚©‚¾‚È
‚Ä‚©‰½ˆ‚ŃGƒ‰[‹N‚±‚Á‚Ä‚ñ‚Ì‚æH
new‚µ‚Ä‚é‚Æ‚±‚¶‚á‚È‚¢‚ñ‚¾‚ë
205 F197F2010/05/29(“y) 12:12:10
>>202
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ŽŽ‚µ‚Ä‚Ý‚½‚Æ‚±‚ë
ƒGƒ‰[ 1 Œ^‚Ü‚½‚Í–¼‘O‹óŠÔ–¼ 'Shell32' ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
‚ƃGƒ‰[‚ª‚Å‚Ä‚µ‚Ü‚¢‚Ü‚·B
>>205
‚¿‚á‚ñ‚ÆŽQÆݒ肵‚Ä‚È‚¢‚¾‚ë‚»‚ê
using‚Ì‚±‚Æ‚¶‚á‚È‚¢‚¼„ŽQÆÝ’è
.NET framework 4‚Åoffice 2003‚̃AƒhƒCƒ“ì‚ê‚Ü‚·‚©HH
ƒ^ƒCƒvƒ‰ƒCƒ^[‚̂悤‚É•¶Žš•\Ž¦‚µ‚½‚¢‚Ì‚Å‚·‚ªUI‚ÅThread‚ðŽg‚¤‚ȂƈȑO‘‚¢‚Ä‚ ‚Á‚½‚ÆŽv‚¢‚Ü‚·
‚ǂ̂悤‚Éwait‚ð‚©‚¯‚ê‚Ηǂ¢‚Å‚µ‚傤‚©
ttp://ideone.com/NZMm7
>>208
Dispatcher’Ê‚¹‚ΕʃXƒŒƒbƒh‚©‚çƒAƒNƒZƒX‚Å‚«‚é‚æB
>>208
System.Windows.Timer‚ðŽg‚¦‚΂¢‚¢B
wait‚ðŠ|‚¯‚é‚Á‚Ä”­‘z‚ª‘åÌ‚ÌBASIC‚Á‚Û‚¢‚Èw
UI‚ÅThread‚ðŽg‚¤‚È‚Á‚Ä
Invoke‚µ‚ë‚Á‚ĈӖ¡‚¶‚á‚È‚¢‚Ì‚©H
³‚µ‚­‚ÍuUIƒXƒŒƒbƒh‚ðŽ~‚ß‚é‚Èv‚¾‚È
ƒXƒŒƒbƒh‚ðŽ~‚ß‚½‚¢‚Æ‚«‚͕ʂ̃XƒŒƒbƒh‚ðì‚é
208‚Å‚·
BackgroundWorker‚ðŽg‚Á‚ĕʃXƒŒƒbƒh‚É‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªŒ‹‹ÇUI‚ðG‚é‚È‚Á‚Ä‚±‚Ƃ炵‚­
‚É‚Á‚¿‚à‚³‚Á‚¿‚às‚«‚Ü‚¹‚ñ
Thread.Sleep‚ÅŽ~‚ß‚ÄA‚»‚ÌŠÔUI‚ðG‚ê‚È‚¢‚悤‚É‚µ‚Ü‚µ‚½
ƒ^ƒCƒ}Žg‚¦
ƒ‹[ƒv‚Í‚¢‚ç‚ñ
>>214
‚Ç‚±‚ðŽQÆ‚µ‚Ä‚»‚̂悤‚È’mŽ¯‚𓾂½‚Ì‚©ŽN‚µ‚Ä‚Ý‚é‚Æ‚¢‚¢‚æ
ƒ^ƒCƒ}[‚¾‚ÆAƒ^ƒCƒvƒ‰ƒCƒ^[‚̂悤‚È“ü—Í•¶Žš—ñ‚É‚æ‚éƒCƒ“ƒ^[ƒoƒ‹‚Ì·‚âA
“ü—Í‘¬“x‚Ì—h‚炬‚ðÄŒ»‚µ‚悤‚Æ‚·‚é‚ÆAãY—í‚É“Z‚Ü‚ç‚È‚¢‚È

–ܘ_A‚»‚ê‚­‚ç‚¢‚â‚é‚æ‚Ë>>208
‚»‚ê‚Å‚à‚»‚ñ‚È‚±‚ƂɃXƒŒƒbƒhŽg‚¤‚Ì‚Í‚ ‚肦‚È‚¢
’Z‚¢ŠÔŠu‚Å•p”ɂɃR[ƒ‹ƒoƒbƒN‚©‚¯‚ÄŽžŠÔ‘ª‚é‚悤‚É‚·‚邾‚ë
ƒQ[ƒ€‚Ý‚½‚¢‚ÉŽ©•ª‚ŃƒbƒZ[ƒWƒ‹[ƒv‰ñ‚µ‚Ä‚à‚¢‚¢
>>214
‚¾‚©‚çDispatcherŽg‚¦‚Á‚ÄB
•ÊƒXƒŒƒbƒh‚©‚çAuUIƒXƒŒƒbƒh‚Å‚±‚̈—ŽÀs‚µ‚Ä‚­‚êv‚Á‚Ä‚¨Šè‚¢‚·‚é‹@”\B
‚¢‚â‚»‚à‚»‚à•’Ê‚»‚ñ‚È‚±‚ƂɃXƒŒƒbƒhŽg‚í‚È‚¢‚©‚ç
>>219
•’ÊDispatcher‚Æ‚¢‚¤‚ÆSystem.Windows.Threading.Dispatcher‚¾‚ªA
WinForm‚̘b‚Å‚»‚ñ‚È‚ñ‚¾‚³‚ê‚Ăࢂé
208‚Å‚·
‚³‚·‚ª‚É‘fl‚Å‚à214‚̈—‚Í‚Ü‚¸‚¢‚ÆŽv‚¢‚Ü‚µ‚½‚Ì‚ÅTimer‚ðŽg‚Á‚Ä‚Ý‚Ü‚µ‚½
http://ideone.com/za8su
Šú‘Ò’Ê‚è‚Ì“®‚«‚Æ‚¢‚¦‚Ίú‘Ò’Ê‚è‚È‚Ì‚Å‚·‚ª‚Ç‚¤‚Å‚µ‚傤‚©
>>221
‚ [AControl.Invoke (Delegate) ‚Ì‚±‚Æ‚ËB
>>222
‚È‚ñ‚©‚¨‚©‚µ‚­‚ËH
‚È‚ñ‚©‚Á‚ĉ½H

ƒNƒŠƒbƒN‚·‚邽‚Ñ‚ÉTick‚̃Cƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ª‘‚¦‚é‚Æ‚©A
TypeWriter()‚̈ø”‚ðŽg‚Á‚Ä‚¢‚È‚¢‚Æ‚©A
typewriter‚Í1’PŒê‚¾‚©‚çƒP[ƒX‚ª‚¨‚©‚µ‚¢‚Æ‚©H
>>225
‚₳‚µ‚¢‚È‚—
C#‚ŃtƒHƒ‹ƒ_‚ðì‚é‚Æ‚«‚É•Ï”‚ðƒtƒHƒ‹ƒ_–¼‚É‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚·‚©H
•Ï”‚ðŽg‚킸‚ɃtƒHƒ‹ƒ_‚ðì‚é•û–@‚ª‚í‚©‚Á‚Ä‚é‚ñ‚¾‚Á‚½‚ç
ƒtƒHƒ‹ƒ_–¼‚𕶎š—ñ‚Å’¼ÚŽw’è‚·‚é‘ã‚í‚è‚É•Ï”‚ð—^‚¦‚ê‚΂¢‚¢‚¾‚¯
‚È‚º‚»‚¤‚µ‚½‚¢‚ñ‚Å‚·‚©H
>>228
‚·‚¢‚Ü‚¹‚ñ
‚»‚ꂪ‚¤‚Ü‚­‚¢‚©‚È‚­‚Äc

>>229
—Ⴆ‚Îu5v‚Æ“ü—Í‚µ‚½‚çƒtƒHƒ‹ƒ_1AƒtƒHƒ‹ƒ_2AcAƒtƒHƒ‹ƒ_5‚Æ‚¢‚¤‚悤‚ɃtƒHƒ‹ƒ_‚ðì‚肽‚¢‚Ì‚Å
>>230
for (int i = 1; i <= 5; i++) {
string folder = string.Format("ƒtƒHƒ‹ƒ_{0}", i);
}
>>230
‚»‚ê‚Íu•Ï”‚ðƒtƒHƒ‹ƒ_–¼‚É‚·‚év‚¶‚ጾ—t‘«‚炸‚à‚¢‚¢‚Æ‚±‚¾‚ëB

var path = Path.Combine(basePath, string.Format("ƒtƒHƒ‹ƒ_{0}", i);
Dicretory.CreateDirectory(path);

‚Æ‚©‚Å‚àƒ_ƒH
>>231
>>232
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ŽŽ‚µ‚Ä‚Ý‚Ü‚·
ƒQ»‚©‚ç—ˆ‚½l‚©‚È‚ 
ƒQ[ƒ€ì‚é‚‚à‚è‚È‚çÅI“I‚É‚ÍŽ©•ª‚ŃƒbƒZ[ƒWƒ‹[ƒv‰ñ‚·‚±‚Æ‚É‚È‚é‚ÆŽv‚¤‚¼
C++‚Ì__DATE__‚Ý‚½‚¢‚ȃRƒ“ƒpƒCƒ‹“ú•t‚Í
‚ǂ̂悤‚Ɏ擾‚·‚é‚Ì‚Å‚µ‚傤‚©H
–³—
‚Ç‚¤‚µ‚Ä‚à‚â‚肽‚©‚Á‚½‚çƒrƒ‹ƒh‘O‚̃Rƒ}ƒ“ƒh‚ŃR[ƒh¶¬
–³‚¢‚Å‚·‚©EEEŽc”O
‚ ‚肪‚Æ‚¤
ƒR[ƒh¶¬‚Á‚Ä‚¢‚Á‚½‚Á‚Ä
internal static class VersionInfo { public const string Date = "2010/05/31"; }
‚±‚¤‚¢‚¤‚̂𶬂µ‚Äcsƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚鈗‚ðƒXƒNƒŠƒvƒg‚©‚È‚ñ‚©‚Å‘‚¢‚ărƒ‹ƒh‘OƒCƒxƒ“ƒg‚ŌĂԂ¾‚¯
svn‚̃ŠƒrƒWƒ‡ƒ“‚ð“Ç‚ÝŽæ‚Á‚ă\[ƒX‚É‘‚«ž‚Þ“z‚Æ‚©‚ÈB
‚í‚´‚í‚´“Ç‚ÝŽæ‚ç‚È‚­‚Ä‚àŸŽè‚É•Ï‚¦‚Ä‚­‚ê‚é‚æ
MS‚Á‚ăR[ƒh¶¬‚Æ‚©ƒƒ^ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Æ‚©D‚«‚¾‚©‚ç
__DATE__‚Ý‚½‚¢‚ȃIƒ‚ƒ`ƒƒŽg‚킸ŠeŽ©‚ÅD‚«‚É‚â‚é‚Ì‚ª•’Ê‚¾‚ÆŽv‚Á‚Ä‚é‚ñ‚¾‚낤‚È
‚Ç‚¤‚µ‚Ä‚à•K—v‚Ȃ烊ƒtƒŒƒNƒVƒ‡ƒ“B
ƒŠƒtƒŒƒNƒVƒ‡ƒ“Žg‚¤‚É‚µ‚Ä‚àƒRƒ“ƒpƒCƒ‹Žž‚É–„‚ß‚±‚ñ‚Ç‚©‚È‚¢‚Æ–³—
[assembly:CompileDate("2010/05/31")]‚Ý‚½‚¢‚È
‚Ç‚Á‚¿‚Ý‚¿ƒR[ƒh¶¬‚ª•K—v‚¾‚©‚ç>>238‚Ì•û‚ªŠy
244 F239F2010/06/01(‰Î) 19:34:49
>>240
‚¤‚í‚ A¡‚Ü‚ÅPerl‚̃XƒNƒŠƒvƒg‚ň—‚µ‚Ä‚½EEE
>>244
‚Ü‚¶‚©‚æ‚—
‚±‚ê‚Ü‚Å‚Ìì‹Æ—ʂɂ‚¢‚Äl‚¦‚é‚Ì‚¾‚¯‚Í‚â‚ß‚Ä‚¨‚­‚ñ‚¾I‚±‚ê‚©‚炪‘厖I‚ÈI
245 ‚̂₳‚µ‚³‚É‹ƒ‚¢‚½
‚Ü‚Ÿ‰“‰ñ‚肵‚ĕ׋­‚ɂȂ邱‚Æ‚à‚ ‚邵EEE
‚ ‚Ü‚è‚É‚à’²‚ׂª‘«‚è‚È‚³‚·‚¬‚邪‚±‚ê‚à•×‹­‚¾‚—
‚Ü‚ ƒfƒtƒHƒ‹ƒg‚Ì‚Ü‚Ü‚¾‚Æ‚©‚í‚ç‚È‚¢‚©‚ç‚È
‘Š’k‚Å‚·B

.NET3.5‚ÅWindowsƒtƒH[ƒ€ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð쬂µ‚Ä‚¢‚Ü‚·B

WebƒJƒƒ‰‚⃊ƒ‚[ƒgƒJƒƒ‰‚Ȃǂ̉f‘œ‚ðŽæ‚èž‚ÝA‚»‚̉f‘œ‚ðƒŠƒAƒ‹ƒ^ƒCƒ€‚ɃtƒH[ƒ€“à‚É•\Ž¦‚µ‚½‚¢‚Ì‚Å‚·‚ªA
‰Â”\‚Å‚µ‚傤‚©H

uwebƒJƒƒ‰@ƒLƒƒƒvƒ`ƒƒv“™‚̃[ƒh‚ÅŒŸõ‚µ‚Ä‚à—Ç‚¢Ž‘—¿‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½‚Ì‚ÅA
‚Ç‚È‚½‚©—Ç‚¢•û–@‚ð‚²‹³Žö‚­‚¾‚³‚¢c
>>249
DirectShow•Ó‚è‚É“š‚¦‚ª‚ ‚é‚ñ‚¶‚á‚È‚¢‚©‚ÈH

‚ ‚ÆAƒqƒ“ƒg‚È‚çGraphEditPlus‚Æ‚¢‚¤ƒc[ƒ‹‚ðŽg‚¤‚Ì‚à‚ ‚è‚©‚àB
Directshow.NETŽg‚Á‚Ä‚éB
•’Ê‚ÉŽg‚¦‚é
252 F251F2010/06/02(…) 14:00:17
‚ [‚ ‚ÆOpenCV‚Ì.NET”Å‚àŽŽ‚µ‚½‚¯‚ÇŽg‚¦‚½‚æ
‚Ç‚È‚½‚©‹³‚¦‚Ä‚­‚¾‚³‚¢B

‹@Ší‚Æ‚Ì’ÊM‚É‚æ‚蓾‚ç‚ꂽ16i”‚Ì•‚“®¬”“_ƒf[ƒ^Œ`Ž®•¶Žš—ñ‚ðA
10i”‚É‚µ‚Ä‚ð•\Ž¦‚·‚éƒvƒƒOƒ‰ƒ€‚ð쬂µ‚½‚¢‚Ì‚Å‚·‚ªA‚æ‚¢•û–@‚Í‚È‚¢‚Å‚µ‚傤‚©H
<—á>ŽóMƒf[ƒ^F42C80000@o—ÍF100.0
‚Æ‚¢‚Á‚½‚à‚Ì‚ðì‚肽‚¢‚Ì‚Å‚·B

‚È‚¨AŽóMƒf[ƒ^‚𕶎š—ñ‚É•ÏŠ·‚·‚é‚Æ‚±‚ë‚Ü‚Å‚ÍA‚Å‚«‚Ä‚¢‚Ü‚·B
16i•¶Žš—ñ‚ðint‚É•ÏŠ·
int n = Convert.ToInt32("42C80000", 16);
int‚ð•‚“®¬”“_‚É•ÏŠ·
float f = BitConverter.ToSingle(BitConverter.GetBytes(n), 0);
100.0‚̂悤‚È‘Ž®‚Åo—Í‚·‚é‚Ì‚Í‚í‚©‚é‚æ‚ËH
255 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 15:00:18
‚»‚Ì‘O‚ɃGƒ“ƒfƒBƒAƒ“‚Æ‚©‚̘b‚Í‘åä•v‚È‚ñ‚¾‚낤‚©EEE
ŽóMƒf[ƒ^‚Ì—á‚ðŒ©‚éŒÀ‚è–â‘è–³‚¢‚Å‚µ‚å
257 F253F2010/06/02(…) 15:29:16
>254‚³‚ñ
‚Å‚«‚Ü‚µ‚½B
‚悤‚â‚­Convert.ToInt32‚̈Ӗ¡‚ª‚í‚©‚è‚Ü‚µ‚½B
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ƒtƒH[ƒ€“à‚̃tƒH[ƒJƒX‚ð‰Šú•\Ž¦Žž‚Æ“¯‚¶‚É‚·‚éA‚à‚µ‚­‚Í
ƒtƒH[ƒ€“à‚̃Rƒ“ƒgƒ[ƒ‹‚Å TabIndex ‚ªˆê”ÔŽá‚¢”Ô†‚̃Rƒ“ƒgƒ[ƒ‹‚ð
ŠÈ’P‚É’m‚é•û–@‚Í‚È‚¢‚Å‚µ‚傤‚©H

Œ»Ý•¡”‚̃tƒH[ƒ€‚ðŽg‚¤ƒAƒvƒŠ‚ð‘‚¢‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚̈—‚ªŒ‹\d‚¢(DB‚©‚çî•ñ‚ЂÁ‚Ï‚Á‚Ä‚«‚ăRƒ“ƒgƒ[ƒ‹‚ð‘òŽR‚‚­‚é)‚Ì‚Å
ƒtƒH[ƒ€‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽg‚¢‚Ü‚í‚·‚±‚Æ‚É‚µ‚Ü‚µ‚½B

Close() ‚Ì‚©‚í‚è‚É Hide() ‚ðŽg‚Á‚½‚Ü‚Å‚Í‚¢‚¢‚Ì‚Å‚·‚ªA
Ä“x•\Ž¦‚µ‚½‚Æ‚«‚É“–‘R‚Ì‚²‚Æ‚­ƒtƒH[ƒJƒX‚̈ʒu‚ª‘O‰ñ‚Æ“¯‚¶‚È‚Ü‚Ü‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
ƒ[ƒhƒCƒxƒ“ƒg‚ ‚½‚è‚Å擪‚̃Rƒ“ƒgƒ[ƒ‹‚ɑ΂µ‚Ä Select() ‚ðŽg‚Á‚đΈ‚µ‚Ä‚¢‚Ü‚·‚ªA
ƒRƒ“ƒgƒ[ƒ‹–¼‚ðƒn[ƒhƒR[ƒfƒBƒ“ƒO‚µ‚Ä‚¢‚é‚̂ŃfƒUƒCƒi‚Å‚Ì TabIndex •ÏX‚É’Ç]o—ˆ‚Ä‚¢‚Ü‚¹‚ñB


>ƒRƒ“ƒgƒ[ƒ‹–¼‚ðƒn[ƒhƒR[ƒfƒBƒ“ƒO‚µ‚Ä‚¢‚é‚̂ŃfƒUƒCƒi‚Å‚Ì TabIndex •ÏX‚É’Ç]o—ˆ‚Ä‚¢‚Ü‚¹‚ñB
ˆÓ–¡‚ª‚í‚©‚è‚Ü‚¹‚ñ
‚ƂÂà‚È‚¢ƒhƒLƒ…ƒ\ŽÀ‘•‚Ì‚èB
“®“I‚ȃtƒH[ƒ€\’z‚ŒljÁ‚µ‚½ƒRƒ“ƒgƒ[ƒ‹‚ÌTabIndexÄݒ肪‚Å‚«‚Ü‚¹‚ñA‚Æ•·‚±‚¦‚éB
Žè‚𔲂©‚È‚¢‚ÅForm‚ÌControls‚ð‰ñ‚µ‚Äݒ肵’¼‚¹‚΂¢‚¢‚ñ‚¶‚á‚ËH
261 F258F2010/06/02(…) 21:04:19
>>259
TabIndex ‚ªˆê”ÔŽá‚¢ƒRƒ“ƒgƒ[ƒ‹‚ðŒˆ‚ß‚¤‚¿‚µ‚Ä
Load ƒCƒxƒ“ƒg‚Å’¼Ú Select() ‚µ‚¿‚á‚Á‚Ä‚¢‚Ü‚·B
ƒfƒUƒCƒi‚ҔԂ©‚¦‚½‚肵‚½ê‡‚͈êX Select() ‚ðŒÄ‚Ño‚·ƒRƒ“ƒgƒ[ƒ‰[‚ð•ÏX‚µ‚Ä‚¢‚Ü‚·B

>>260
‘S•”‚ð“®“I‚ɒljÁ‚µ‚Ä‚¢‚é‚킯‚¶‚á‚È‚­A‚¢‚­‚‚©ŒÅ’è‚Å’u‚¢‚Ä‚ ‚é‚à‚Ì‚à‚ ‚é‚ñ‚Å‚·‚ªA
“®“IƒtƒH[ƒ€\’z‚ð‚·‚éꇂÁ‚Ä‘S•”‚Ì TabIndex ‚ðƒR[ƒhƒrƒnƒCƒ“ƒh‘¤‚Å‚Ó‚è‚È‚¨‚·‚Ì‚ª•’Ê‚È‚ñ‚Å‚µ‚傤‚©H
‚»‚ÌꇂÁ‚ăfƒUƒCƒi‘¤‚Å‚Ì•À‚ч‚ª‚©‚í‚Á‚½‚çˆêXƒR[ƒh‚àC³‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Å‚·‚æ‚ËH
>>250,251
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
LinQ‚ÅŒŸõ‚Å‚¢‚¯‚邶‚á‚ñ‚ÆŽv‚Á‚½‚¯‚ÇPanel‚Æ‚©Žg‚Á‚Ä‚é‚ÆŒ‹\‚ß‚ñ‚Ç‚­‚³‚¢‚È
264 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 21:13:57
‚t‚r‚aƒJƒƒ‰‚ðŽg‚Á‚ÄA“®‰æ‚ð
‚`‚u‚hƒtƒ@ƒCƒ‹Œ`Ž®‚Å‚Ì쬂̎d•û‚̓Tƒ“ƒvƒ‹‚݂‚¯‚½‚ñ‚¾‚¯‚ÇA
‚v‚l‚u‚à‚µ‚­‚Í‚l‚o‚S‚Å쬂ł«‚él‚¢‚éH
‚`‚u‚hŒ`Ž®‚̓TƒCƒY‚ª‘å‚«‚·‚¬‚ÄAAA¬‚³‚­‚µ‚½‚¢‚ñ‚¾‚æ‚ËB
ƒXƒŒˆá‚¢
‚»‚¤‚¢‚¤‚Ì‚ÍC#‚É‚±‚¾‚í‚炸‚ÉC++‚̃R[ƒh‚Æ‚©‹™‚ç‚È‚¢‚Æ
266 F258F2010/06/02(…) 21:22:48
Ž©ŒÈ‰ðŒˆ‚µ‚Ü‚µ‚½B

ƒtƒH[ƒ€‚Ì VisibleChanged ƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ÅŽ©•ªŽ©g‚ɑ΂µ‚Ä SelectNextControl() ‚ðŽg‚¤‚±‚Æ‚Å
Šó–]‚Ì“®ì‚Æ‚È‚è‚Ü‚µ‚½B

ƒtƒH[ƒ€ƒCƒ“ƒXƒ^ƒ“ƒXŽg‚¢‚܂킵‚̓NƒŠƒA‚̈—‚ª‰˜‚È‚­‚Ȃ肪‚¿‚¾‚©‚ç‚«‚ç‚¢‚¾‚È
‚«‚¿‚ñ‚Æí—ª‚ð—û‚ç‚ê‚é‚È‚ç‚¢‚¢‚¯‚ÇAƒ^ƒu‡‚ÌŠÇ—‚·‚烃“ƒhƒNƒT‚È‚ñ‚Ä‚¢‚¤
Žq‚̃R[ƒh‚ÍM‚¶‚ç‚ê‚È‚¢B
>>268
ƒ^ƒu‡‚̓fƒUƒCƒi[‚ÅŠÇ—‚µ‚½‚¢A‚Á‚Ęb‚¶‚á‚È‚¢‚ÌH
‰´‚Í‚»‚¤‚¢‚¤‚̂̓fƒUƒCƒi‘¤‚ÅŠ®Œ‹‚µ‚Ä‚È‚¢‚Æ‹CŽ‚¿‚í‚é‚¢‚¯‚Ç‚ÈB
WPF–œÎ‚¾‚æ‚Ù‚ñ‚ÆB
ƒR[ƒhƒrƒnƒCƒ“ƒh‚Í‚Ç‚Á‚¿‚©‚Á‚Â[‚Æ‚Ü‚¾ƒfƒUƒCƒ“‚Ì”Íáe‚¶‚á‚ËH
‚Ü[ƒ^ƒu‡•ÏX‚µ‚½‚¾‚¯‚ŃR[ƒh‘‚«Š·‚¦‚È‚«‚á‚¢‚¯‚È‚¢‚悤‚ÈŽÀ‘•‚̓^ƒR‚¾‚ÆŽv‚¤‚¯‚ÇB
WPF‚ ‚肪‚½‚ª‚Á‚Ä‚é‚Ì‚Í‘‚¶‚ăAƒz
V‚µ‚¢‚à‚Ì‚ðŽó‚¯•t‚¯‚È‚­‚È‚Á‚½‚çI‚í‚肾‚æ
C#ƒ†[ƒU[‚Á‚Ä‚à‚Á‚ƃ~[ƒn[‚ª‘½‚¢‚Ì‚©‚ÆŽv‚Á‚Ä‚½
273 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 22:16:09
WPF’P‘Ì‚¾‚ÆŒ©Ø‚é‰Â”\«‘傾‚Á‚½‚È
SilverLight‚ª‚È‚¯‚ê‚΂â‚낤‚ÆŽv‚í‚È‚©‚Á‚½
>SilverLight
‚Ù‚ñ‚Æ‚É‚â‚Á‚Ä‚ñ‚Ì?
275 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 22:21:09
xaml‚Æ‚¢‚¤‹¤’Ê‚È•”•ª‚ª‚ ‚é‚©‚ç‚Ë
ŽÀ‘•·ˆá‚Æ‚©‚ ‚é‚Ì‚à‚í‚©‚Á‚Ä‚é‚æ

‚Ç‚Á‚¿‚©‚Æ‚¢‚¦‚Îsilverlight‚̂‚¢‚Å‚ÉWPF‚â‚銴‚¶
276 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 22:21:36
test
xaml‚ª‚í‚©‚ç‚È‚¢
xaml‚â‚é‚®‚ç‚¢‚È‚çHTML5‚ÆJavaScript‚â‚é
‚½‚©‚ªÝ’èƒtƒ@ƒCƒ‹‚ɉ½‚»‚ñ‚È‚É‘›‚¢‚Å‚é‚Ì
XAML‚È‚ñ‚©Designer.cs‚ðXML‚É‚µ‚½‚¾‚¯‚Ì‚à‚Ì
G‚肽‚­‚È‚¯‚è‚áG‚ç‚È‚­‚Ä‚àƒfƒUƒCƒi”C‚¹‚ÅWinForms’ö“x‚ÌUI‚Íì‚ê‚é
‚È‚ñ‚Å‚©A‚¤‚¿‚ÌWindows7‚¶‚áWPF“®‚©‚ñ‚µB
“®‚©‚·‚ÆuURL‚ª³‚µ‚­‚È‚¢‚½‚ßA“Ç‚Ýž‚ß‚Ü‚¹‚ñ‚Å‚µ‚½vB
ƒGƒNƒXƒvƒ[ƒ‰‚©‚çƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‚à‘S‚­“®‚©‚È‚¢B
281 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/02(…) 22:34:02
>>277
winform‚Å‚à“¯‚¶‚悤‚ÈŽd‘g‚Ýì‚ê‚é‚æ
Form‚Éwebbrowser“\‚è•t‚¯‚Ä‚»‚±‚Ö‹N“®Žž‚ÉhtmlƒR[ƒh“ü‚ê‚Ä
webbrowser‚̂ǂꂪƒNƒŠƒbƒN‚³‚ꂽ‚Æ‚©ƒCƒxƒ“ƒgˆ—‚·‚ê‚΂n‚j
‰½‚ðŠ¨ˆá‚¢‚µ‚Ä‚é‚Ì‚©’m‚ç‚ñ‚ªƒvƒƒOƒ‰ƒ~ƒ“ƒO‚â‚é‚悤‚ȃŒƒxƒ‹‚¶‚á‚È‚¢‚È
283 F280F2010/06/02(…) 22:42:26
‚ A‚·‚Ü‚ñŠ¨ˆá‚¢B‚È‚ñ‚©‚¢‚¶‚Á‚Ä‚½Ý’肪ˆ«‚©‚Á‚½BV‹K쬂µ‚½‚ç“®‚¢‚½‚íB
ƒ\ƒtƒgƒEƒFƒAƒL[ƒ{[ƒh‚ðì‚Á‚Ä‚¢‚Ü‚·B
ƒ^ƒu‚É‚æ‚Á‚ĉp”Žš‚Æ•½‰¼–¼‚̃L[•ª‚¯‚Ä‚ð‚»‚ê‚¼‚êŽÀ‘•‚µ‚Ä‚¢‚Ü‚·

‚ ‚镶Žšƒ{ƒ^ƒ“(‚±‚±‚Å‚Íu‚©v‚Æ‘‚©‚ꂽƒ{ƒ^ƒ“)‚ð‰Ÿ‚·‚ƃCƒxƒ“ƒg‚ª”­¶‚µAˆÈ‰º‚̂悤‚Ȉ—‚ðs‚¢‚Ü‚·B
private void buttonH_SA_Click(object sender, EventArgs e) {
@SendKeys.SendWait("ka");@//"•½‰¼–¼‚Ìu‚©v‚𑗂肽‚¢
}

‚±‚̂悤‚É‚µ‚ÄAƒ\ƒtƒgã‚ŃL[ƒ{[ƒh‚ðŽÀŒ»‚µ‚½‚¢‚Ì‚Å‚·‚ªA
—Ⴆ‚΃ƒ‚’ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚±‚̂悤‚Ȉ—‚ðŽÀs‚·‚é‚ÆA"‚©"‚Å‚Í‚È‚­"ka"‚Æ‚µ‚©•\Ž¦‚³‚ê‚Ü‚¹‚ñB

‚È‚ñ‚Æ‚©‚µ‚ÄAƒƒ‚’ ‚É"ka"‚Å‚Í‚È‚­"‚©"‚Æ•\Ž¦‚³‚¹‚邱‚Æ‚Í‚Å‚«‚È‚¢‚Ì‚Å‚µ‚傤‚©H
‘ÎÛƒeƒLƒXƒgƒ{ƒbƒNƒX‚ÌImeModeƒvƒƒpƒeƒB‚ª˜M‚ꂽ‚ç‚¢‚¢‚Ì‚¾‚¯‚ê‚Ç‚à‚»‚ê‚Í–³—‚Å‚·‚µc

‰½‚©—Ç‚¢•û–@‚ª‚ ‚ê‚΂²‹³Žö‰º‚³‚¢B
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
SendKeys.Send("‚©");
‚Å‚¢‚©‚ñ‚Ì‚©H
>>285
‚»‚ê‚ÍŽŽ‚µ‚Ü‚µ‚½‚ª¤Šm‚©‚Éu‚©v‚Æo—Í‚³‚ê‚Ü‚·¡

‚µ‚©‚µ–¢•ÏŠ·‚Ìó‘Ô‚Åo—Í‚³‚ê‚Ä‚Ù‚µ‚¢‚Ì‚Å‚·¡(•¶Žš‚ɉºü‚ª‚‚¢‚Äo—Í‚³‚ê‚é‚悤‚É)

‚»‚Ì•û–@‚Å‚ÍŠù‚ÉŠm’肵‚½ó‘Ô‚Åo—Í‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·¡
DLL‚ÌAPIŒÄ‚Ño‚µ‚Å‚à‚¢‚¢H
>>287
‘åä•v‚Å‚·
>>288
‚È‚çWin32 API‚ÌSendInput‚ðŒÄ‚Ño‚·‚ñ‚¾‚ÈB
IME‚ªMS IME‚Ȃ牺ü•t‚«‚Å‘—M‚³‚ê‚éB‚Å‚àŽc”O‚È‚ª‚çATOK‚ÍŠm’èÏ‚Ý‚Å‘—M‚³‚ê‚é
Imm`‚ʼn½‚Æ‚©‚Å‚«‚»‚¤‚È
291 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 15:43:17
http://cs2ch.blogspot.com/2010/04/blog-post_10.html
‚±‚ê‚ÉIME‚̧Œä‚‚¯‚邾‚¯‚¶‚á‚È‚¢‚ÌH
‘½•ªuÚׂȃeƒLƒXƒgƒT[ƒrƒXv‚Ìo”Ô‚Å‚Í‚È‚©‚낤‚©
ImmŒn‚ª‚»‚ꂾ‚Á‚½‚悤‚È‹C‚à‚·‚邪ڂµ‚­‚Í’m‚ç‚ñ
‚Ä‚©î•ñ‚È‚³‰ß‚¬
293 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 16:17:15
>>292
‚»‚ê‚æ‚è–â‘è‚È‚Ì‚ªOS‚ªvistaˆÈ~‚­‚ç‚¢‚É‚È‚é‚Æ
IMEŠÖ˜A‚̧Œä‚ªˆá‚¤‚Æ‚©‚Ç‚¤‚Ì‚Á‚Ä‹Lq‚ðŒ©‚©‚¯‚½‚½‚ñ‚¾‚æ‚ÈEEE
>>293
‚±‚ꂾ‚È@ttp://social.technet.microsoft.com/forums/ja-JP/windowsvistasoftwareja/thread/973a7407-5ddb-4b34-9aea-0fb36f762cf4/
Vista‚©‚çTextServicesFrameworkA—ª‚µ‚ÄTSF‚È‚é‚à‚Ì‚É•Ï‚í‚Á‚½‚炵‚¢
‚Ü‚Á‚½‚­–ˆ“x–ˆ“x—v‚ç‚ñ‚±‚Æ‚µ‚Ä‚­‚ê‚é‚íM$‚³‚ñ‚͂悤
295 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 18:06:11
>>294
‚»‚ê‚»‚ê
MSŠÖ˜A‚Ń^ƒbƒ`ƒpƒlƒ‹ŒnƒfƒoƒCƒX‚ª•‹y‚µ‚È‚¢‚Ì‚Í
‚»‚¤‚¢‚¤‚Æ‚±‚ë‚È‚ñ‚¾‚æ‚Ë`
>>295
‚©‚ñ‚¯[‚Ë[‚µA
‚»‚à‚»‚àŒg‘Ñ“d˜bˆÈŠO‚ÅJ‚É‚ ‚Ó‚ê‚Ä‚¢‚éƒ^ƒbƒ`ƒpƒlƒ‹‚̃fƒoƒCƒX‚̑唼‚ÍMS‚ÌOSŽg‚Á‚Ä‚¢‚邾‚ëB
297 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 18:42:34
‹Æ–±—p‚ÅI‚í‚Á‚Ä‚é“à‚Í•‹y‚µ‚½‚Æ‚Í‚¢‚í‚Ë[‚æ‚—
>>297
ƒj[ƒg‚ÍŒ¾‚¤‚±‚Æ‚ª–Ê”’‚¢B
>>296
WindowsMobile‚𖳎‹‚·‚é‚Æ‚ÍB
>>298
Ž©•ª‚̉Ƃª¢ŠE‚Ì‘S‚Ä‚¾‚©‚ç‚ÈB
301 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 19:18:38
•‹y‚µ‚½‚Á‚Ä’è‹`‚ÍŽÀÛ‚Í‚Ç‚¤‚È‚ÌH
302 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/03(–Ø) 19:47:37
‚È‚ñ‚©ˆê‹C‚É•µˆÍ‹Cˆ«‚­‚È‚Á‚½‚È
‚Ü‚ ƒlƒ^‚É^–Ê–Ú‚É“Ë‚Áž‚Þ‚Ì‚àƒAƒŒ‚¾‚¯‚ÇA
>>294‚à>>295‚à‚Ç‚Á‚¿‚à‚Ç‚Á‚¿‚Å‚Í‚ ‚éB

Windows‚ŃTƒ|[ƒg‚³‚ê‚Ä‚½ƒ^ƒbƒ`ƒpƒlƒ‹‚Á‚Ä‚Ù‚Æ‚ñ‚ǃ}ƒEƒXƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“Œn‚¶‚á‚È‚¢H
‚ ‚ ‚¢‚¤‚Ì‚ð¡“ú“I‚ÈŠ´Šo‚Ń^ƒbƒ`ƒpƒlƒ‹‚Á‚ÄŒ¾‚Á‚Ä‚¢‚¢‚Ì‚©‚Ç‚¤‚©B
‚¢‚«‚È‚èƒlƒKƒLƒƒƒ“‚³‚ꂽ‚ç‚¢‚¢‹C‚µ‚È‚¢l‚àŒ‹\‚¢‚é‚Á‚Ä‚±‚Æ‚¶‚á‚È‚¢‚ÌH
305 F280F2010/06/03(–Ø) 22:06:50
‚©‚Æ‚¢‚Á‚ÄAƒ^ƒbƒv•ƒz[ƒ‹ƒh‚ðŽ‚¿ž‚Ü‚ê‚é‚Ƃ‚¢‚Ä‚¢‚¯‚È‚¢Žq‚ª‚¢‚Á‚Ï‚¢B
‚Å‚à‚È‚¢‚Ì‚©AiPhone‚Æ‚©‚Å‚àŽg‚í‚ê‚Ă邵B
306 F294F2010/06/03(–Ø) 23:33:13
>>303
‚¿‚åwww‰´‚à‚©‚æwwwwww
ƒAƒ“ƒJ[ƒ~ƒX‚¾‚æ‚ÈH
MSIL‚̃Šƒtƒ@ƒŒƒ“ƒX‚Á‚Ä‚Ç‚±‚ÅŒ©‚ê‚Ü‚·‚©H
XmlSerializer‚ŃfƒVƒŠƒAƒ‰ƒCƒY‚ð‚â‚낤‚Æ‚µ‚Ä‚é‚ñ‚Å‚·‚ªA
ˆê‚‚̗v‘f‚É”z—ñ‚Ì—l‚É•¡”‚Ì’l‚ª“ü‚Á‚Ä‚éꇂɂ¿‚å‚Á‚Æ¢‚Á‚Ä‚Ü‚·B

«‚±‚ñ‚È—v‘f‚ª‚ ‚Á‚ÄAcolor‚ðRGBA‚Å“Ç‚Ýž‚Ý‚½‚¢‚ñ‚Å‚·B
<ambient>
<color>0.50000 0.50000 0.50000 1</color>
</ambient>

‚Æ‚è‚ ‚¦‚¸•¶Žš—ñ‚Æ‚µ‚Ä‚Ícolor‚ªƒfƒVƒŠƒAƒ‰ƒCƒY‚Å‚«‚Ü‚µ‚½‚ªA
public class ambient
{
public string color;
}

Žg‚¢ŸŽè‚ªˆ«‚¢‚Ì‚Åfloat4‚‚ÌR,G,B,A‚ðŽ‚Á‚½colorƒNƒ‰ƒX‚Æ‚µ‚ÄA
‚à‚µ‚­‚Ífloat[4]‚Æ‚µ‚Ä“Ç‚Ýž‚Ý‚½‚¢‚Å‚·B

public class color
{
public float r, g, b, a;
// public float[] rgba;
}

‰½‚©‚¢‚¢•û–@‚È‚¢‚Å‚µ‚傤‚©H

<ambient>
<color a="0" r="0" g="0" b="0"/>
</ambient>
‚Æ‚©

<ambient>
<color>
<a>0</a>
<r>0</r>
<g>0</g>
<b>0</b>
</color>
</ambient>
‚Æ‚©
xml‚Ì•û‚Í•Ï‚¦‚ç‚ê‚È‚¢‚Ì‚È‚çsplit‚Ńoƒ‰‚·‚Æ‚©
311 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/04(‹à) 01:35:51
xml‚Ì•û‚Í•ÏXo—ˆ‚Ü‚¹‚ñB
•¶Žš—ñ‚Å“Ç‚Ýž‚ñ‚Å‚©‚番Š„‚·‚邵‚©‚È‚¢‚Å‚·‚©‚ËB
–³‚¢‚ñ‚¶‚á‚È‚¢‚©‚È
313 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/04(‹à) 01:40:04
XmlSerializer‚Ì“s‡‚à‚ ‚邾‚낤‚µ‚ËEEE
‚Æ‚¢‚¤‚©‰½‚Å‚Å‚«‚È‚¢‚ÌH

ň«‚Ìꇂ͕ϊ·‘O‚Ìxml‚ɳ‹K•\Œ»‚Ì’uŠ·‚Å‚à‚©‚¯‚Ä
XmlSerializerŒü‚¯‚É’¼‚µ‚Ä‚â‚é‚Æ‚©‚ÍH
google earth—p‚̃‚ƒfƒ‹ƒtƒ@ƒCƒ‹‚È‚ñ‚ÅAƒ‚ƒfƒ‹ƒtƒ@ƒCƒ‹Ž©‘Ì‚É‚Í•ÏX–³‚µ‚Å“Ç‚Ýž‚à‚¤‚Æ‚µ‚Ä‚Ü‚µ‚½B
315 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/04(‹à) 02:08:25
•’Ê‚Éxml‚ðread‚³‚¹‚ĉðÍ‚·‚é‚Ì‚¶‚Ⴞ‚ß‚È‚Ì‚©‚ËH
Google ‚Í‚»‚Ì•Ó‚è‚·‚²‚¢ evil ‚¾‚©‚ç‚È‚ŸB
‘¼ŽÐ‚Ƃ̘AŒg‚Æ‚©‚Ù‚ñ‚Æ–³Ž‹B
’Pƒ‚Ésoap‚Ì•û‚ðŽg‚Á‚ăVƒŠƒAƒ‰ƒCƒY‚µ‚½‚ç‚¢‚¢‚¶‚á‚ñ
ƒtƒBƒ‹ƒ^‘‚¯‚Ä‚»‚¤Œ¾‚¤‚Ì‚àŠÈ’P‚É“Ç‚Ý‘‚«‚Å‚«‚邵
>>307
Å‚àŠ®‘S‚È‚Ì‚Íecma‚ÌCLI
ƒIƒyƒR[ƒh‚̃Šƒtƒ@ƒŒƒ“ƒX‚Æ‚µ‚Ä‚í‚©‚è‚â‚·‚¢‚Ì‚ÍMSDN‚ÌSystem.Reflection.Emit.OpCodes
>>316
‚»‚ê‚ðˆ«‚Æ‚·‚é‚ ‚‚©‚Ü‚µ‚³‚ªX‚¢
XmlSerializer •Ö—˜‚¾‚¯‚ÇŒ‹\‚±‚Ü‚©‚¢§–ñ‚ ‚邵‚È‚ 
Ž×ˆ«‚ÈxxƒRƒ“ƒeƒXƒg‚Æ‚©¡Žž‚̃„ƒc‚Í‚â‚ç‚ñ‚Ì‚©EEE
Soap‚Á‚Ä‚Ü‚¾Žg‚í‚ê‚Ä‚éHH
‘S‘‚Ç‚±‚É‚Å‚à‚ ‚è‚Ü‚·‚ª
‰w‘O‚Ì‚Í–{”Ô‚È‚¢‚©‚ç‹C‚ð‚‚¯‚悤‚È
’m‚ç‚ñ‚©‚Á‚½(Šò•ŒŒ§–¯)
Ž¿–â‚Å‚·B
VC2008 C#‚ÌAƒCƒ~ƒfƒBƒGƒCƒgƒEƒBƒ“ƒhƒE“à‚Å
IEnumerableŽÀ‘•ƒNƒ‰ƒX‚È‚Ç‚ð—ñ‹“‚³‚¹‚é‚Ì‚É
‚¢‚¢•û–@‚Í‚È‚¢‚Å‚µ‚傤‚©B
.ToArray()
‚»‚ÌŒãA[0], [1] ‚Æ‚©Ž©—Í‚Å‚â‚è‚Ü‚·‚©H
ƒCƒ~ƒfƒBƒGƒCƒgƒEƒBƒ“ƒhƒE‚Á‚ÄŽg‚¤H
‘S•”ƒEƒHƒbƒ`ƒEƒBƒ“ƒhƒE‚ÅÏ‚Ü‚¹‚¿‚á‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇB
‚½‚Ü‚ÉŽg‚¤B
•›ì—p‚Ì‚ ‚郃\ƒbƒhŒÄ‚Ño‚µ‚Æ‚©B
>>328
ŽŽ‚¹‚æ
”z—ñ‚Ȃ玩“®“I‚É’†g‚ª•\Ž¦‚³‚ê‚é
‚È‚é‚Ù‚Ç
>>329Œ‹\Žg‚¤
ƒuƒŒƒCƒN‚³‚¹‚ÄŠÖ”‚ւ̈ø”•Ï‚¦‚ĕԂ茌‚Ý‚Ä‚Ý‚½‚¢‚Æ‚©
•Ï”‚Ì’l’¼‚Å•Ï‚¦‚½‚èAƒfƒoƒbƒO—p‚̃eƒXƒgƒR[ƒh‚É‚·‚è‚á‚¢‚¢‚ñ‚¾‚낤‚¯‚ÇA‚»‚ÌêŒÀ‚è‚ÌŽž‚͂‚©‚¤‚©‚È‚Ÿ
334 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/05(“y) 07:40:06
’É‚»‚¤
ƒCƒ~ƒfƒBƒGƒCƒgƒEƒBƒ“ƒhƒE‚Å‚ÌŽÀs‚ÌŽd•û‚ª‚È‚©‚È‚©‚í‚©‚ç‚È‚­‚Ä
Œ‹\‚±‚Ü‚Á‚Ä‚½B
ƒCƒ“ƒeƒŠƒZƒ“ƒX‚·‚邽‚ß‚¾‚¯‚̃EƒBƒ“ƒhƒE‚¾‚ÆŽv‚Á‚Ä‚½‚æEEE
>>329
‚ ‚»‚±‚ŃoƒOC³—pƒR[ƒh‚Æ‚©
”¼•ªƒR[ƒfƒBƒ“ƒO‚µ‚É‚©‚©‚郌ƒxƒ‹
>>333
‚»‚Ì‚ ‚½‚è‚̓NƒCƒbƒNƒEƒHƒbƒ`‚©‚ç‚à‚Å‚«‚é‚©‚çB
ƒCƒ~ƒfƒBƒGƒCƒgƒEƒBƒ“ƒhƒE‚¶‚á‚È‚¢‚Æ‚Å‚«‚È‚¢‚±‚Æ‚Á‚ĉ½‚¾‚낤H
object o = null;

(ƒNƒCƒbƒN)ƒEƒHƒbƒ`‚Å‚â‚é‚Æ‚±‚ñ‚ȃƒbƒZ[ƒW‚ª‚Å‚é
> 錾ƒXƒe[ƒgƒƒ“ƒg‚ÍAƒCƒ~ƒfƒBƒGƒCƒg ƒEƒBƒ“ƒhƒE‚Å‚Ì‚Ý‹–‰Â‚³‚ê‚Ä‚¢‚Ü‚·
“–‚½‚è‘O‚¾‚Á
‚È‚É‚¨‚¢‚Á‚Ä‚¢‚é‚Ì‚çEEEE
ƒvƒƒpƒeƒB‚ŃNƒ‰ƒX‚ð•Ô‚·Žž“Ç‚ÝŽæ‚èê—p‚É
‚·‚é•û–@‚Í‚ ‚è‚Ü‚·‚©H

class a : ICloneable {
int value = 0;
//ˆÈ‰º—ª
}
class b {
private a = new _a();
public a REF {
get{ return _a; }
set{ _a = value; }
}
public a CLONE {
get{ return _a.Clone(); }
set{ _a = value; }
}
}
b = new obj();
b.REF = new a(); //XV‚ð‚±‚ê‚¾‚¯‚É‚µ‚½‚¢(CLONE‚à)
b.REF.value = 5 //‹ÖŽ~‚µ‚½‚¢
b.CLONE.value = 5 //ˆÓ}‚µ‚È‚¢“®ì‚È‚Ì‚Å‹ÖŽ~‚µ‚½‚¢

‚È‚¢
’†g‚ð•ÏX‚Å‚«‚È‚¢‚悤‚ɃNƒ‰ƒX‚ðì‚é
‚ ‚ÆICloneable‚ðdŽ‹‚µ‚Ä‚ç‚Á‚µ‚á‚é‚悤‚¾‚¯‚Ç¡‚Í”ñ„§‚É‚È‚Á‚Ä‚é‚©‚çŽÀ‘•‚µ‚È‚­‚Ä‚¢‚¢‚æ
aƒNƒ‰ƒX‚É“Ç‚ÝŽæ‚èê—p‚ÌValueƒvƒƒpƒeƒB‚ðì‚é
a‚ð•ÏX•s‰Â‚É‚µ‚Ä‚µ‚Ü‚¦‚΂¢‚¢‚ñ‚¾‚ªˆê”Ê‚É‚Í‚»‚ê‚æ‚è‚à
b‚Épublic int AValue { get { return a.value; } }‚ð•t‚¯‚½•û‚ª‚¢‚¢
‚à‚¿‚ë‚ñꇂɂæ‚邯‚Çb‚ð—˜—p‚·‚鑤‚ªa‚ð’m‚ç‚È‚­‚ÄÏ‚Þ
>>342, 343
‚ ‚肪‚Æ‚¤
ŠÈ’P‚É‚Í‚¢‚©‚È‚»‚¤‚Å‚·‚ËEEB
ꊂɂæ‚Á‚Ä‚Í•ÏX‚ª•K—v‚È‚Ì‚Åprivate protected‚ð
‹ìŽg‚µ‚ÄŽŽ‚µ‚ÄŒ©‚Ü‚·
‚Ä‚©AICloneable‚ª”ñ„§‚Æ‚¢‚¤‚Ì‚Í‹Á‚«‚Ü‚µ‚½B


http://blogs.msdn.com/b/brada/archive/2004/05/03/125427.aspx
‚±‚ꂾ‚È
Clone‚Æ‚¾‚¯‘‚©‚ê‚Ä‚à‚Ç‚ñ‚ȃRƒs[‚ª•Ô‚Á‚Ä‚­‚é‚Ì‚©‘S‚­‚í‚©‚ç‚ñB
‚Þ‚µ‚ë‚킯‚Ì‚í‚©‚ç‚È‚¢ƒl[ƒ~ƒ“ƒO‚ð•’·‚·‚邾‚¯BDeepCopy‚Æ‚©Ž©•ª‚ÅŽÀ‘•‚µ‚Ä‚­‚êB‚Æ‚¢‚¤‚±‚Ƃ炵‚¢B
Label‚ÌAutosize‚ðtrue‚É‚µ‚½Žž‚ÌL‚Ñ‚µ‚ë‚ðŬŒÀ‚É—}‚¦‚邱‚Æ‚Á‚Ä‚Å‚«‚È‚¢‚Ì‚©‚ÈH

label‚𖧂ɉ¡•À‚Ñ‚É”z’u‚µ‚Ä‚¢‚é‚Ì‚¾‚¯‚ê‚ÇA‚Ç‚¤‚à—ׂƔ킳‚Á‚Ä•¶Žš‚ªŒ©‚¦‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤B
Autosize‚ðfalse‚É‚µ‚Ä•¶Žš‚ðŒÀŠE‚Ü‚Å‹l‚ß‚é‚Ɨׂ̃‰ƒxƒ‹‚Æ‚©‚Ԃ邱‚Æ‚Í‚È‚­‚Ȃ邯‚Ç‚È‚º‚©•¶Žš‚ª“r’†‚Ü‚Å‚µ‚©•\Ž¦‚³‚ê‚È‚­‚Ȃ邵B

>>347
ˆ«‚¢‚¯‚Ç‘S‘Ì“I‚ɉ½‚ð‚¢‚¢‚½‚¢‚Ì‚©‚æ‚­‚í‚©‚ç‚ñB
‚Ä‚©u‚È‚º‚©v‚Á‚Ä‚»‚ê‚Ì‚Ç‚±‚ª‹^–â‚È‚Ì‚©ˆÓ–¡‚í‚©‚ç‚ñ‚µB
349 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/05(“y) 20:46:00
‹v‚µ‚Ô‚è‚É‹tP‚̃VƒƒƒA‚Ý‚Ä‚½‚̂Ńjƒ…[ƒ^ƒCƒv‚É‚È‚Á‚½‚‚à‚è‚Å
‰ñ“š‚µ‚Ä‚Ý‚é‚Æ‚¾‚ÈEEE

>>347
“K“–‚ȃRƒ“ƒeƒi‚ŧŒä‚·‚é‚Ì‚ªˆê”Ô‚©‚à‚Ë
Cˆä‚ÌŽ¿–â‚à‚±‚±‚Å‚æ‚낵‚¢‚Ì‚Å‚µ‚傤‚©B
‚È‚É‚»‚̃CƒjƒVƒƒƒ‹ƒg[ƒN
352 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/05(“y) 23:21:37
‹tƒVƒƒƒA‚Á‚ÄÅŒã‚Ì‚Æ‚±‚ë‚ŃAƒ€ƒ‚ƃVƒƒƒA‚Á‚Ä
Ž€‚ñ‚¾‚Æ‚³‚ê‚Ă邯‚ÇMS‚ª’e‚«”ò‚΂³‚ê‚Ä‚é
‚Í‚¸‚È‚Ì‚É‹O“¹‚ª‚»‚ê‚é‚Ì‚ªŠm’肵‚½‚Æ‚«‚É
“ñ‚‰½‚©‚ª”ò‚Ñ‹Ž‚éƒV[ƒ“‚ª‚ ‚é‚ñ‚¾‚æ‚ËEEE

ƒXƒŒƒ`
“ñl‚ªŽ©—R‚ɂȂ邽‚ß‚Ììí
Ž€‚ñ‚¾Ž–‚É‚µ‚Ä•Êl‚ð–¼æ‚Á‚Ä‹CŠy‚ɶ‚«‚Ä‚¢‚­‚½‚ß‚É
Šð‚µ’p‚¸‚©‚µƒ{[ƒCƒYƒ‰ƒu‚Å‚·‚Ë
>>347
‚½‚Ô‚ñ‚»‚±‚ç•Ó–Ê“|‚È‚­‚µ‚½‚¯‚ê‚΃e[ƒuƒ‹‚ðŽg‚¤‚Ì‚ª‹CŠy‚Å‚æ‚¢‚æ
Datagridview‚ÌŽg‚¢•û‚ª‰ð‚è‚Ü‚¹‚ñB‚¾‚©‚ç×ÍÞÙ‚ðÁÏÁÏ“\‚Á‚Ä‚Ü‚·B
ϳ½‚ÅãY—í‚É”z’u‚µ‚½Ï‚肾‚¯‚ÇA‚Ç‚¤‚à—ׂƔ킳‚Á‚Ä‚é‹C‚ª‚µ‚Ü‚·B
‚Æ´½Êß°‚µ‚Ä‚Ý‚éB
‚Ù‚Ú³‰ð
>>347
TableLayoutPanelƒRƒ“ƒgƒ[ƒ‹‚ðŽg‚¦‚ÎOK
“ü—̓`ƒFƒbƒN‚ɂ‚¢‚Ä‘Š’k‚³‚¹‚Ä‚­‚¾‚³‚¢B
ƒtƒH[ƒ€“à‚É“o˜^‚³‚ê‚Ä‚¢‚éƒRƒ“ƒg[ƒ‹‘S‚Ä‚Ì Validating ƒCƒxƒ“ƒg‚ð”­¶‚³‚¹‚é‚É‚Í
‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Ì‚Å‚µ‚傤‚©H

Œ»ÝA‚»‚ꂼ‚ê‚Ì€–Ú‚Ì“ü—̓`ƒFƒbƒN‚Í Validating ƒCƒxƒ“ƒg‚Ì’†‚ň—‚µA
“à—e‚ª³‚µ‚­‚È‚¢ê‡‚Í ErrorProvider ‚ðŽg—p‚µ‚ăAƒCƒRƒ“‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B

‚±‚Ì‚Ü‚Ü‚Å‚·‚ƈê“x‚àƒtƒH[ƒJƒX‚𓾂Ȃ¢‚܂܂̃Rƒ“ƒgƒ[ƒ‹‚Í“ü—̓`ƒFƒbƒN‚ª‚È‚³‚ê‚È‚¢‚Ü‚Ü‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

‚È‚Ì‚ÅA“o˜^ƒ{ƒ^ƒ“‚ð‰Ÿ‰º‚µ‚½ƒ^ƒCƒ~ƒ“ƒO‚Å‚à‘S‚Ä‚Ì€–Ú‚Ì“ü—̓`ƒFƒbƒN‚ðs‚È‚¨‚¤‚Æl‚¦‚½‚Ì‚Å‚·‚ª
‚¤‚Ü‚¢•û–@‚ªŽv‚¢‚‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
ContainerControl ‚Ì Validate ƒƒ\ƒbƒh‚ÅŽqƒRƒ“ƒgƒ[ƒ‹‘S‚Ä‚ð Validate ‚Å‚«‚é‚Ì‚©‚ÆŽv‚Á‚Ä‚½‚ß‚µ‚½‚Ì‚Å‚·‚ª
‚¾‚ß‚Å‚µ‚½EEE
‚ÂValidateGroup
>>360
ValidatingGroup ‚Å‚·‚ËB
ASP.NET —p‚Å‚·‚©EEE Windows Form ‚Å‚ÍŽg‚¦‚È‚³‚»‚¤‚Å‚·‚ËB
ContainerControl.ValidateChildren‚ÍH
>>362
‚¨‚¨‚¨! ‚Ü‚³‚µ‚­‚»‚ê‚Å‚·
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ŽÀ‘•‚µ‚Ä‚Ý‚½‚Æ‚±‚ëŠú‘Ò’Ê‚è‚Ì“®ì‚Æ‚È‚è‚Ü‚µ‚½


‚µ‚©‚µEEE
‚È‚º‚©Ž©•ª‚Æ‚±‚ë‚̊‹«(VSEE2008)‚¾‚Æ
ValidateChildren ‚ªƒCƒ“ƒeƒŠƒZƒ“ƒX‚É‚àƒIƒuƒWƒFƒNƒgƒuƒ‰ƒEƒU‚É‚ào‚Ä‚±‚È‚¢EEE
ƒ^[ƒQƒbƒg‚Í .NET 2.0 ‚É‚µ‚Ă邵ƒrƒ‹ƒhŽ©‘Ì‚Í’Ê‚é‚©‚ç–â‘è‚È‚³‚»‚¤‚È‚ñ‚¾‚¯‚Ç‚È‚ñ‚Å‚È‚ñ‚¾‚낤
Browsable(false)‘®«•t‚«‚¾‚©‚ç
‚È‚ñ‚Å‚»‚¤‚µ‚Ä‚é‚©‚Í.NET‚Ì’†‚Ìl‚É•·‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ª
‚È‚é‚Ù‚ÇB
Form ‚Ì•û‚Å‚Í Browsable(true) ‚É‚È‚Á‚Ä‚¢‚Ü‚µ‚½B
ƒƒ\ƒbƒh‚Ì«Ž¿‚ðl‚¦‚é‚Æ‚È‚é‚ׂ­ãˆÊ‚ÅŽg‚Á‚Ä—~‚µ‚¢‚©‚ç‚Æ‚©‚»‚ñ‚È‚Æ‚±‚È‚ñ‚Å‚µ‚傤‚©‚ËB

d‚Ëd‚Ë‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚â‚é‚È
ADO.NET‚ÅŽ¿–â‚È‚ñ‚Å‚·‚ªA
DataRowˆês‚¾‚¯‚ð•ÒW‚·‚é‚悤‚ȉæ–Ê‚ðì‚éꇂłà
TextBox‚Æ‚©ComboBox‚ɃoƒCƒ“ƒh‚·‚é‚Ì‚ªˆê”Ê“I‚Èì‚è•û‚È‚ñ‚Å‚µ‚傤‚©H
‚»‚ê‚Æ‚àˆêX“à—e‚ðˆÚ‚µ‚©‚¦‚é‚â‚è•û‚ªˆê”Ê“I‚È‚ñ‚Å‚µ‚傤‚©H
‚½‚Á‚½1s‚Å‚à“ü—Í€–Ú‚ª‘½‚¯‚ê‚΃oƒCƒ“ƒh‚·‚é`
ADO‚ÍŒ©’Ê‚µ‚ªˆ«‚¢‚æ‚Ë
Žè‘‚«‚ÌADO.NET‚Í‚»‚¤ˆ«‚­‚È‚¢‚ñ‚¾‚¯‚Ç
ƒEƒBƒU[ƒh¶¬‚ÌŒ^•t‚«ƒf[ƒ^ƒZƒbƒg‚ªˆÓŠO‚Ɖð‚èh‚­‚Ä•s•]B
WebRequest‚Å‚ÌFTPPUT‚Í‚½‚܂ɃŠƒ‚[ƒgƒT[ƒo[‚ÉÚ‘±‚Å‚«‚È‚¢ƒGƒ‰[‚ɂȂ邯‚ÇA
‚â‚Í‚èAƒ\ƒPƒbƒg‚Åì‚ç‚È‚¢‚Æ‚¾‚ß‚È‚Ì‚©‚µ‚çH
‚ñ‚È‚±‚Æ‚Í‚È‚¢B
IE‚ÌHTTP/GET‚¾‚Á‚Ä‚½‚܂ɃŠƒ‚[ƒgƒT[ƒo[‚ÉÚ‘±‚Å‚«‚È‚¢ƒGƒ‰[‚ɂȂ邺
‚¢‚â‚»‚ê‚̓‹[ƒ^‚ª•…‚Á‚Ä‚é‚—
ƒ‹[ƒ^[‚à‘R‚èA‘ŠŽè‚̊‹«‚Ì‚¹‚¢‚à‘R‚è‚Á‚Ä‚±‚Æ‚Å‚µ‚åB
‚¢‚ë‚ñ‚Ȋ‹«Œ´ˆö‚àŠÜ‚ß‚ÄHTTP‚âFTPA‚»‚Ì‘¼‚Ì’ÊM‚Å‚àŽ¸”s‚·‚邱‚Æ‚Í‚ ‚éB
FFFTP‚Æ‚©‚Ì‚¢‚¢‰ÁŒ¸ŒÍ‚ê‚Ä‚éƒc[ƒ‹‚Å‚àŒ‹\‚Ȃ邵‚È
‚»‚¤Œ¾‚¤ƒ‚ƒ“‚¾‚ÆŽv‚Á‚ĉñ•œŽè’iì‚èž‚Þ‚µ‚©‚ ‚ñ‚ß
ƒ^ƒCƒ€ƒAƒEƒgAƒŠƒgƒ‰ƒCAƒŠƒWƒ…[ƒ€‚ ‚½‚è‚ðŽÀ‘•‚µ‚½‚çA
FTP‚Í‚Ü‚Æ‚à‚È“®‚«‚ɂȂ邾‚낤B
‚»‚±‚Ü‚Å–]‚Þꇂ͎©•ª‚Åì‚ê‚΂¢‚¢B
FTP‚È‚ñ‚ă`ƒ‡[ŠÈ’P‚¾‚µB(PASVŽÀ‘•‚Æ‚©ƒ`ƒ‡ƒC–Ê“|‚­‚³‚¢’ö“x)
>>378
.net framework‚¾‚¯‚ÅŽèŒy‚ÉŽÀ‘•‚Å‚«‚邾‚ëB
WindowsƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÄA‰æ‘œ‚Ìã‚É“§‰ß“I‚ÈŽlŠp‚¢˜güiF•t‚«j‚ðd‚Ë‚½‚¢‚Ì‚Å‚·‚ªA
‚ǂ̂悤‚ÉŽÀ‘•‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
‹X‚µ‚­‚¨Šè‚¢‚µ‚Ü‚·B
>>380
Panel‚Å‚Å‚«‚È‚¢‚Á‚¯B
¡‚àPanel‚ ‚é‚ñ‚¾‚Á‚¯B
>>380
Œ»ó‚ł̓Rƒ“ƒgƒ[ƒ‹‚ÍeƒRƒ“ƒgƒ[ƒ‹‚ɑ΂µ‚Ä‚µ‚©“§‰ß‚µ‚Ä‚­‚ê‚È‚¢‚ñ‚¾‚æ‚ËB
‚Ü‚Ÿ“®‚©‚µ‚½‚è‚·‚é‚ñ‚Ȃ畳d‚½‚­‚Ȃ邯‚ÇA‚»‚̘g‚ªæ‚é”͈͂ª‘Îۂ̉摜‚Ì‚Ç‚±‚É‚ ‚½‚é‚©‚ðŒvŽZ‚µ‚Ä‚»‚Ì•”•ª‚̉摜ƒf[ƒ^‚ð˜g‚ð•`‰æ‚·‚éƒRƒ“ƒgƒ[ƒ‹‚Ì”wŒi‚É•`‰æ‚Æ‚©B

‚Ü‚ŸƒTƒNƒTƒN“®‚¢‚Ä“§‰ß‚à‚Å‚«‚Ä‚Á‚Ä‚È‚é‚Æ‚¢‚Á‚»‚Ì‚±‚ÆDirectX‚âOpenGL‚É2ŽŸŒ³“I‚È•`‰æ‚ð‚·‚é‚µ‚©‚È‚¢B
PictureBox‚ÌŽq‚ɘgü‚ÌPictureBox‚È‚è’ljÁ‚·‚è‚á‚¢‚ñ‚Å‚Ë
384 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/08(‰Î) 08:05:10
>>383
WinForm‚¾‚Æ“§‰ß‚ðˆµ‚¤‚Ì‚Í–Ê“|‚¾‚æ
OnPaint‚Ì“à•”‚ÅD‚«‚Ȃ悤‚É•`‚¯‚΂¢‚¢B
PictureBox‚ð‚Í‚Ýo‚·‰Â”\«‚ª‚ ‚é‚È‚ç–ï‰î
OnPaint‚¾‚Á‚½‚çˆê؃Rƒ“ƒgƒ[ƒ‹Žg‚킸‚Éd‚È‚é‰Â”\«‚Ì‚ ‚é‚à‚Ì‘S•”
Ž©•ª‚Å•`‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢
‚ǂ̃Œƒxƒ‹‚̉^—p‚È‚ñ‚¾‚낤H

—Ⴆ‚΃†[ƒU[‚ªƒhƒ‰ƒbƒOƒhƒƒbƒv‚µ‚½•”•ª‚ɘg‚ð•`‰æ‚µ‚Ä‚»‚ê‚ðÁ‚µ‚½‚è‚·‚邱‚Æ‚ªo—ˆ‚È‚¯‚ê‚΂¢‚¯‚È‚¢‚È‚ç
Ž©•ª‚ŃŒƒCƒ„[‚Ý‚½‚¢‚ȃf[ƒ^‚ð‡”Ô‚É‹L‰¯‚µ‚ăNƒŠƒbƒN‚³‚ꂽ‚ç˜gü•`‰æ‚µ‚Ĉړ®‚Å‚«‚é‚悤‚É‚·‚é

‚Æ‚©‚¢‚ë‚¢‚ël‚¦‚ç‚ê‚邯‚Ç
“§–¾‚ȃEƒBƒ“ƒhƒE‚ðd‚Ë‚é‚Ì‚ªŠmŽÀ
‚»‚¤‚¢‚¤‚Ì‘½—p‚·‚é‚ñ‚¾‚Á‚½‚ç“w—Í‚·‚邾‚¯ŽžŠÔ‚Ì–³‘Ê‚¾‚©‚炳‚Á‚³‚ÆWPF‚Ö
FtpWebRequest‚ÌAbort–Y‚ê‚©‚àB
˜gˆø‚­‚­‚ç‚¢‚È‚ç˜gü—p‚ÌPictureBox‚È‚Ç‚ð”z’u‚µ‚Äã‚É’u‚¢‚Ä
Region‚Å“à‘¤‚ðØ‚èo‚·‚Ì‚ª‚Ù‚Ç‚Ù‚ÇŠy‚¾‚ÆŽv‚¤‚æB
ƒRƒ“ƒgƒ[ƒ‹‚Ìd‚ˇ‚킹‚Í”‚ª‘‚¦‚é‚Æd‚­‚È‚é‚©‚çƒXƒs[ƒh‚ª•K—v‚È‚çDirectX
C#2.0@ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ÅŽ¿–â‚Å‚·

shortŒ^‚Ì•Ï”A‚ª‚ ‚é‚Æ‚µ‚Ü‚·B
ƒƒCƒ“ƒXƒŒƒbƒh‚Í‚ ‚é•Ï”A‚ð“Ç‚Ýž‚Þ‚¾‚¯
ƒTƒuƒXƒŒƒbƒh‚Í‚ ‚é•Ï”A‚ð‘‚«Š·‚¦‚邾‚¯

ã‹L‚̂悤‚Èó‘Ô‚Å’Êí
‘‚«ž‚ÝŽž‚É“K“–‚ȃIƒuƒWƒFƒNƒg“™‚ðŽg—p‚µ‚ăƒbƒNE“Ç‚Ýž‚ÝŽž‚àƒƒbƒN
‚·‚é‚悤‚È‹C‚Í‚·‚é‚ñ‚Å‚·‚ª

‰¼‚É
—¼•ûƒƒbƒN‚µ‚È‚¢ê‡‚Å

ƒTƒuƒXƒŒƒbƒh‚Å
•Ï”A‚ª 0(16bit‘S‚ÄOFF)‚Ì’l‚É‚È‚Á‚Ä‚¢‚鎞‚É
•Ï”A‚ð65535(16bit‘S‚ÄON)‚É•ÏX‚µ‚½‚Æ‚µ‚Ü‚·B

‚±‚ÌꇕϔA‚ÍŒÀ‚è‚È‚­uŠÔ“I‚É‘S‚Ẵrƒbƒg‚ð‡”Ô‚ÉON‚µ‚Ä‚¢‚­‚ÆŽv‚¤‚Ì‚Å‚·‚ªA
‚»‚Ì“r’†‚ɃƒCƒ“ƒXƒŒƒbƒh‚ª“Ç‚ÝŽæ‚è‚ðs‚Á‚½ê‡‚ɗႦ‚Î8bit‚¾‚¯ON‚É‚È‚Á‚½‚肵‚Ä‚¢‚éó‘Ô‚ð“Ç‚ÝŽæ‚éꇂÁ‚Ä‚ ‚é‚Ì‚Å‚µ‚傤‚©H

‚¿‚å‚Á‚ÆŽ¿–â‚ÌŽd•û‚ª”÷–­‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ª‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B

CPU–½—ß‚ÌŬ’PˆÊl‚¦‚½‚ç‚í‚©‚é‚×
>>392
> ‚±‚ÌꇕϔA‚ÍŒÀ‚è‚È‚­uŠÔ“I‚É‘S‚Ẵrƒbƒg‚ð‡”Ô‚ÉON‚µ‚Ä‚¢‚­‚ÆŽv‚¤‚Ì‚Å‚·‚ªA
> ‚»‚Ì“r’†‚ɃƒCƒ“ƒXƒŒƒbƒh‚ª“Ç‚ÝŽæ‚è‚ðs‚Á‚½ê‡‚ɗႦ‚Î8bit‚¾‚¯ON‚É‚È‚Á‚½‚肵‚Ä‚¢‚éó‘Ô‚ð“Ç‚ÝŽæ‚éꇂÁ‚Ä‚ ‚é‚Ì‚Å‚µ‚傤‚©H
32bitƒvƒƒZƒX‚Å‚Í32bit‚Ü‚Å‚È‚çƒAƒgƒ~ƒbƒN
‚»‚ñ‚È‚Ì‹C‚É‚·‚é‚æ‚èvolatile
>>392
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf
‚±‚ÌŽ‘—¿‚Ìp.258‚É
> ƒCƒ“ƒeƒ‹Pentium 4 ƒvƒƒZƒbƒTAƒCƒ“ƒeƒ‹Xeon ƒvƒƒZƒbƒTAP6 ƒtƒ@ƒ~ƒŠEƒvƒƒZƒbƒTA
> ƒCƒ“ƒeƒ‹Pentium ƒvƒƒZƒbƒTAIntel486 ƒvƒƒZƒbƒT‚Å‚ÍAƒLƒƒƒbƒVƒ…‰Â”\ƒƒ‚ƒŠ‚ւ̃A
> ƒNƒZƒX‚ÅAƒoƒX•AƒLƒƒƒbƒVƒ…Eƒ‰ƒCƒ“Aƒy[ƒW‹«ŠE‚ð‚Ü‚½‚ª‚Á‚Ä‚¢‚é‚à‚Ì‚ÍAƒAƒg
> ƒ~ƒbƒN‘€ì‚ª•ÛØ‚³‚ê‚È‚¢B
‚Æ‚ ‚é‚Ì‚ÅA‚»‚¤‚¢‚¤ó‹µ‚ª‹N‚±‚é‰Â”\«‚̓[ƒ‚¶‚á‚È‚¢B
–{“–‚ɃAƒgƒ~ƒbƒN‘€ì‚ª•K—v‚ÈꇂÍA‚ ‚È‚½‚ÌŒ¾‚¤‚Æ‚¨‚èAƒƒbƒN‚·‚é‚È‚èƒAƒgƒ~ƒbƒN‘€ì
–½—ß‚ð‚‚©‚¤‚È‚è‚·‚éB
short‚Ì•Ï”‚ª‚»‚ê‚ç‚ð‚Ü‚½‚ª‚é‰Â”\«‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚©
C#‚Ìꇂ̓Aƒ‰ƒCƒƒ“ƒg‹«ŠE®—ñ‚Í•ÛØ‚³‚ê‚é‚Æ‚Ç‚Á‚©‚Å“Ç‚ñ‚¾‹L‰¯‚ª
‚Ü‚ «—ˆ‚É“n‚Á‚Ä•ÛØ‚³‚ê‚Ä‚é–ó‚Å‚à‚È‚¢‚¾‚낤‚¯‚Ç‚È
MSDN‚ÌInterlocked.Read‚Æ‚©“Ç‚ñ‚Å‚é‚Æ•ÛØ‚³‚ê‚é‚Æ‚àŽæ‚ê‚é‚悤‚È‚±‚Æ‚ª‘‚¢‚Ä‚ ‚é‚æ
StructLayout‚µ‚½\‘¢‘Ì‚Å‚à“K—p‚³‚ê‚é‚Ì‚¾‚낤‚©EEE
ƒ}[ƒVƒƒƒŠƒ“ƒO‹@\‚ª–‚–@‚ðŽg‚Á‚Ä‚­‚ê‚Ä‚é‚©‚à‚µ‚ê‚È‚¢‚©‚ç”ے肵‚Ä‚¢‚é‚킯‚¶‚á‚È‚¢B
>>392
‚»‚ê‚â‚é‚Æ‘å’ï‚Í“Ç‚Ýž‚Þ‚¾‚¯‚̃XƒŒƒbƒh‘¤‚̈—‚ÍÅ“K‰»‚ÅÁ‚¦‚Ä“Ç‚Ýž‚Ü‚È‚­‚È‚é‚©‚ç
’†“r”¼’[‚É“Ç‚Ýž‚Þó‘Ô‚ð‰¼’è‚·‚éˆÈ‘O‚Ì“®ì‚É‚È‚é‚æB
volatile‚®‚ç‚¢‚í‚©‚é‚æƒoƒJ‚â‚낤
>>392
‚È‚ñ‚Å‚»‚¤‚¢‚¤Ž–‚ð‚í‚´‚í‚´l‚¦‚é‚Ì‚©‚æ‚­‚í‚©‚ç‚È‚¢‚¯‚Ç
ReaderWriterLock‚‚©‚¦‚Î‰ðŒˆ‚Æ‚©Œ¾‚¤˜b‚Å‚à‚È‚¢‚ÌH
ƒAƒgƒ~ƒbƒN‚È‘€ì‚ª–{“–‚É‚»‚¤‚È‚Ì‚©‚ɂ‚¢‚Ä‹^–â‚ÉŽv‚Á‚½‚ñ‚¶‚á‚È‚¢‚ÌH
‚¢‚¢‚±‚Æ‚¾‚ÆŽv‚¤‚æB
‚È‚ñ‚Å‚»‚¤‚È‚é‚Ì‚©‚Æ‚©‚Í’m‚Á‚Æ‚¢‚½•û‚ª‚¨‚à‚µ‚ë‚¢‚æ‚ËB
GC‚ª”z’u‚·‚鎞‚É8ƒoƒCƒg‹«ŠE‚É‚·‚é‚Á‚Ä‚Ç‚±‚©‚ÅŒ©‚½Šo‚¦‚ª‚ ‚é‚ñ‚¾‚ª‚Ç‚±‚¾‚Á‚½‚©‚È
ƒŒƒWƒXƒ^‚̃rƒbƒg‘‚«Š·‚¦ƒtƒF[ƒY’†‚ÉŠ„‚èž‚Ý‚©“¯Žž“Ç‚Ýž‚Ý‚Å‚«‚é
‚»‚¤‚¢‚¤‚·‚²‚¢CPU‚̘b‚¶‚á‚È‚¢‚ÌH
>>392
shortŒ^‚È‚ç‚·‚ׂẴrƒbƒg‚ª“¯Žž‚É‘‚«Š·‚¦‚ç‚ê‚éB1ƒrƒbƒg‚¸‚‡”Ô‚Å‚Í‚È‚¢B
‚à‚¿‚ë‚ñƒvƒƒOƒ‰ƒ€‚ª1ƒrƒbƒg‚¸‚‘‚«Š·‚¦‚é‚悤‚Éì‚Á‚Ä‚ ‚ê‚Θb‚Í•Ê‚¾‚¯‚ÇA’Pƒ‚É

A = 0;
A = 65535;

‚̂悤‚É‘ã“ü‚·‚邾‚¯‚È‚ç‚·‚ׂẴrƒbƒg‚ª“¯Žž‚É•ÏX‚³‚ê‚éB
‚à‚µ’†“r”¼’[‚Èó‘Ô‚ª”­¶‚µ‚½‚çA‚»‚ê‚̓ƒ‚ƒŠ‚ÌŒÌáB
>>406
•¨—ƒRƒA‚ª•¡”‚¾‚ÆA‚»‚¤Œ¾‚¢Ø‚ê‚È‚©‚Á‚½‚è‚·‚é
ã‚Å‚à‰½‰ñ‚©o‚Ä‚¢‚éƒAƒ‰ƒCƒƒ“ƒg‹«ŠE‚Ì–â‘è‚ÅA
•¡”‰ñƒtƒFƒbƒ`‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚é‚©‚炾
‚±‚±‚ç‚̓LƒƒƒbƒVƒ…ƒRƒq[ƒŒƒ“ƒV‚Æ‚©FXŠÖŒW‚µ‚Ä‚Ä‚â‚₱‚µ‚¢
‰¡ƒŒƒX‚È‚ñ‚¾‚¯‚Ç
>>407
‚¢‚ë‚¢‚ë“Ç‚ÞŒÀ‚艼‚É‚±‚ꂪ32bitOS‚ÅLong‚¾‚Á‚½‚ç‘‚«Š·‚¦‚Í•¡”‰ñ‚É•ªŠ„‚³‚ê‚Ä‚µ‚Ü‚¤‚Æ‚¢‚¤‚±‚Æ‚È‚ñ‚¾‚낤‚©H
Žd—l‚Æ‚µ‚Ä‚Í‚Ç‚¤‚È‚Á‚Ä‚¢‚é‚ñ‚¾H
5.5 •Ï”ŽQÆ‚Ì•ªŠ„•s”\«
boolAcharAbyteAsbyteAshortAushortAuintAintAfloat ‚Ì
Šeƒf[ƒ^Œ^‚¨‚æ‚ÑŽQÆŒ^‚Ì“Ç‚ÝŽæ‚è‚Æ‘‚«ž‚Ý‚Í•ªŠ„•s‰Â”\‚Å‚·B
‚Ü‚½Aã‹L‚ÌŒ^‚ðŠî‚É‚È‚éŒ^‚ÉŽ‚—ñ‹“Œ^‚Ì“Ç‚ÝŽæ‚è‚Æ‘‚«ž‚Ý‚à
•ªŠ„•s‰Â”\‚Å‚·BlongAulongAdoubleAdecimal ‚È‚Ç‚Ì‚»‚Ì‘¼‚Ì
ƒf[ƒ^Œ^A‚¨‚æ‚у†[ƒU[’è‹`Œ^‚Ì“Ç‚ÝŽæ‚è‚Æ‘‚«ž‚Ý‚ÍA•ªŠ„•s‰Â”\
‚Å‚ ‚邱‚Æ‚ª•ÛØ‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB‚±‚Ì–Ú“I‚ÅÝŒv‚³‚ꂽƒ‰ƒCƒuƒ‰ƒŠŠÖ”‚ð
œ‚¢‚ÄAƒCƒ“ƒNƒŠƒƒ“ƒg‚âƒfƒNƒŠƒƒ“ƒg‚ÌꇂȂǂł̕ªŠ„•s‰Â”\‚È
“Ç‚ÝŽæ‚è/•ÏX/‘‚«ž‚Ý‚Í•ÛØ‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
>>411
CPUƒŒƒxƒ‹‚Å‚Í‚Æ‚à‚©‚­ACLRƒŒƒxƒ‹‚Å‚Í•ÛØ‚³‚ê‚Ä‚é‚Á‚Ä‚±‚Æ‚©B
32bitˆÈã‚Å‚ÌŽÀ‘•‚ðŽ–ŽÀã‘z’肵‚Ä‚¢‚é‚킯‚¾B
16ƒrƒbƒgCPU‚¾‚Á‚½‚çint‚à16ƒrƒbƒg’·‚¶‚á‚ËH
.net‚ª16ƒrƒbƒg‚Å‚à“®‚­‚©‚Í’m‚ç‚ñ‚¯‚Ç
int‚Í32bit‚ÆŒˆ‚ß‚ç‚ê‚Ä‚¢‚éB
int‚ª‰Â•Ï‚ÈŒ¾Œê‚Á‚Ä”‚¦‚é‚Ù‚Ç‚µ‚©‚È‚¢
CLR‚Í32ƒrƒbƒgƒvƒƒZƒX‚È‚ç32ƒrƒbƒg‹«ŠE‚ÉA64ƒrƒbƒgƒvƒƒZƒX‚È‚ç64ƒrƒbƒg‹«ŠE‚É®—ñ‚·‚邱‚Æ‚ð•ÛØ‚µ‚Ä‚éB
‚à‚¿‚ë‚ñƒ‰ƒCƒAƒEƒg‚ð•Ï‚¦‚½ê‡‚Í•ÊB

‚¾‚©‚çA­‚È‚­‚Æ‚à32ƒrƒbƒgˆÈ‰º‚̃vƒŠƒ~ƒeƒBƒuŒ^‚Ì“Ç‚Ý‘‚«‚̓Aƒgƒ~ƒbƒN•ÛáB
‚»‚¤‚¢‚¤Œ¾Œê‚Å‚Í‘g‚Ýž‚ÝŒ^‚Í‚»‚Ì‚Ü‚ÜŽg‚킸‚Étypedef‚µ‚ăTƒCƒY‚ðŒÅ’è‚·‚é‚Æ‚¢‚¤
ƒAƒz‚炵‚¢ƒmƒEƒnƒE‚ª’è’…‚µ‚Ă鎖ŽÀ
‚ ‚ ‘‚«•û‚¨‚©‚µ‚©‚Á‚½B
ƒ‰ƒCƒAƒEƒg¨ƒŒƒCƒAƒEƒgB
‚ÅA‚»‚¤‚¢‚¤‚±‚Æ‚â‚Á‚Ä‚È‚¢ŒÀ‚è‚Í•ÛႳ‚ê‚Ä‚éB
>>402
‰½‚Ì‚½‚ß‚¾‚æ‚—
‚‚¤‚킯‚ÅŒ»ŽÀ“I‚É‚ÍA32ƒrƒbƒgˆÈ‰º‚È‚çvolatil•Ï”A
32ƒrƒbƒg‚ð’´‚¦‚é‚à‚Ì‚Ílock‚·‚é‚Ì‚ªŠÈ’PB
‚Æ‚±‚ë‚Ålong‚Ívolatile‚É‚Å‚«‚È‚¢‚¯‚Ç
IntPtr‚âŽQÆŒ^‚Ìvolatile‚Í64bitƒvƒƒZƒX‚Å‚Ç‚¤‚È‚Á‚Ä‚é‚ñ‚¾‚낤H
64bitŠÂ‹«‚È‚ç•’Ê‚É–â‘è‚È‚¢‚¾‚ëB
64ƒrƒbƒgŠÂ‹«‚Å‚Í“–‘R64ƒrƒbƒg‚Ì“Ç‚Ý‘‚«‚Í•ªŠ„•s‰Â”\B
x64‚Æia64‚ňá‚Á‚½‚肵‚È‚¢‚Ì‚©‚È
•ªŠ„u•s‰Â”\v‚Á‚Ä•\Œ»‚Í‚Ç‚¤‚È‚ñ‚¾‚낤‚Ë‚¦B
atomic‚Ì’è–󂪂Ȃ¢‚©‚ç‚Ë‚¦Bu•s‰Â•ªv‚Å—Ç‚³‚»‚¤‚È‚à‚ñ‚¾‚ªB
‘Š’kŽº‚Ì•û‚¾‚µƒAƒgƒ~ƒbƒN‚Æ‚¾‚¯Œ¾‚Á‚Æ‚¯‚Î’Ê‚¶‚é‚ñ‚¶‚á‚È‚¢‚©H
¡X‚±‚̽ڂŃAƒgƒ~ƒbƒN‚╪Š„•s‰Â”\‚̈Ӗ¡‚ª‚í‚©‚ç‚ñ“z‚à‚¢‚È‚¢‚ÆŽv‚¤‚ñ‚¾‚ªEEE
‚Ü‚ŸMSDN‚É‚à‚»‚¤‘‚¢‚Ä‚ ‚é‚ñ‚¾‚µA‚»‚Ì‚Ü‚Ü‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©H

‚Æ‚¢‚¤‚©A‚â‚Á‚ÏPG‚Äׂ©‚­“Ë‚«‹l‚ß‚é‚Æ[‚¢‚æ‚È‚Ÿ@‚Ɖü‚ß‚ÄŽv‚¤
‚È‚ŸA•R‚­E•R•t‚¯‚éE•R‚¢‚½XX@‚Á‚ĉpŒê‚Å‚È‚ñ‚Ä‚¢‚¤‚ñ‚¾H
‚Ä‚©A•R‚­‚̌ꌹ‚Í‚Ç‚Á‚©‚çH
‚»‚ñ‚È‚Ì
ŠÖŒW‚·‚é
‚Æ‚©‚É’u‚«Š·‚¦‚½‚ç‚¢‚©‚ñ‚ÌH

ŒêŒ¹‚̓OƒO‚Á‚Ä‚­‚ê
‚»‚¤Œ¾‚¦‚ÎA‰pŒê‚Æ1‘Î1‚È—pŒê‚¶‚á‚È‚¢‚悤‚È‹C‚ª‚·‚é‚Ë‚¦B
link,bind,relationship‚Ì‚¢‚¸‚ê‚©‚ð‹Ç–ʂɉž‚¶‚ÄŽg‚¤‚ñ‚¶‚á‚È‚¢‚©‚ÈB
associate‚Æ‚©‚à‚ ‚é‚È
A (which is) tied together with B ‚Æ‚©
assigned ‚Æ‚©‚ÍH
–½–¼ƒXƒŒs‚«‚©‚È
wired‚¾‚È
weird‚Æ‚È
ttp://techbank.jp/Community/blogs/mymio/archive/2010/03/07/25216.aspx
‚±‚Ì‹LŽ–‚̈Ӗ¡‚í‚©‚él‚¢‚éH
Šm‚©‚É‘S‚­‚í‚©‚ç‚È‚¢
new { trueValue = new BitVector32(-1), falseValue = new BitVector32(0) }‚Æ
new { trueValue = new BitArray(1)[0] = true, falseValue = new BitArray(1)[0] = false }
‚ð”äŠr‚µ‚½‚爗‘¬“xˆÈ‘O‚É’lŒ^‚ÆŽQÆŒ^‚̈Ⴂ‚Å‘OŽÒ‚ª‘¬‚¢‚ÉŒˆ‚Ü‚Á‚Ä‚é
‰½‚ª‚µ‚½‚¢‚Ì‚©‚àˆÓ–¡•s–¾
„new BitVector32(-1)[(int)BitFlag.TrueIndex]
BitFlag.TrueIndex‚Í0‚Ì‚±‚Æ‚¾‚©‚çA

„new BitVector32(-1)
-1‚¶‚á‚È‚­‚Ä‚à‰½‚ð“n‚µ‚Ä‚à‚½‚Æ‚¦0‚Å‚àTrue‚ɂȂ邵‚ÈB
„new { trueValue = new BitArray(1)[0] = true, falseValue = new BitArray(1)[0] = false }
‚±‚ê‚ÉŽŠ‚Á‚Ă̓rƒbƒgƒZƒbƒg‚µ‚Ä‚é‚‚à‚è‚ÅŽÀ‚͎擾‚µ‚©‚µ‚Ä‚È‚¢‹C‚ª‚·‚éB
Microsoft MVP‚©‚æw
>>441
‹t
Ý’è‚Í‚µ‚Ă邯‚ǎ擾‚Í‚µ‚Ä‚È‚¢
trueValue‚É‘ã“ü‚³‚ê‚é‚̂̓Šƒeƒ‰ƒ‹‚Ìtrue
(int16)true‚ª1‚É‚È‚Á‚½‚è-1‚É‚È‚Á‚½‚è‚·‚éI‘å”­Œ©IƒXƒC[ƒciÎj
‚Á‚Ä‚±‚Æ‚©H
‰ñ”‘‚â‚·‚Æ·‚ªŠJ‚­‚Ì‚ÍGC‚ª“®‚­‚©‚ç‚©‚È?
‚È‚ñ‚É‚¹‚æ‚»‚ñ‚ÈBitArray‚ÌŽg‚¢•û‚ ‚肦‚È‚¢
–{l‚àŒ¾‚Á‚Ă邯‚ÇA–{“–‚É
> ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê˜_‚âƒAƒ‹ƒSƒŠƒYƒ€‚ÉŒ³X‹»–¡‚ª‚È‚©‚Á‚½
‚ñ‚¾‚낤‚ÈB
‚»‚¤‚¾‚Æ‚µ‚Ä‚à‚±‚ê•’Ê‚ÉŽdŽ–‚ÉŽxႪo‚郌ƒxƒ‹‚¶‚á‚Ë
Console.WriteLine("BitVector32‚Ì-1: {0}", ....

‚»‚è‚ች‚â‚Á‚½‚Á‚Ä-1‚ªo‚é‚æ‚ÈB
>>440
BitVector32‚ÌŽd—l‚ð—‰ð‚µ‚Ä‚È‚¢H@ƒCƒ“ƒfƒNƒT‚̈ø”‚ðƒ}ƒXƒN‚¶‚á‚È‚­
ƒCƒ“ƒfƒbƒNƒX‚¾‚ÆŽv‚Á‚Ä‚¢‚é‚Æ‚©B
>>438
‚ ‚êH@ƒRƒƒ“ƒgÁ‚¦‚½H
H
“\‚Á‚½‚Ì‚Í–{l‚©‚æ‚—‚—‚—‚—‚—‚—
‚Æ‚¢‚¤‚©‹LŽ–Ž©‘ÌÁ‚¦‚½‚—
—¬Î‚ÍMVP‚¾‚È
ŠÛ‚²‚ÆÁ‚µ‚Ä“¦‚°‚é‚Á‚Ä‚Ì‚Í‹ZpŽÒ‚Ì‘Ô“x‚Æ‚µ‚Ä‚Í“‚¢‚È‚ 
•Ê‚É’N‚¾‚Á‚ĊԈႢ‚Í‚ ‚é‚ñ‚¾‚©‚çA‘f’¼‚É•ª‚©‚Á‚Ä‚Ü‚¹‚ñ‚Å‚µ‚½A‚Å‚¢‚¢‚Ì‚ÉB
c‚Ù‚©‚Ì‹LŽ–‚à‘S•”Šª‚«ž‚ñ‚ŃRƒƒ“ƒgÁ‚¦‚½‚Èc
‚Ç‚¤‚È‚Á‚Ä‚ñ‚¾c^–Ê–Ú‚É•·‚¢‚Ä‚½‚Ì‚Éc

‚ [‚ A‚Ç‚¤‚¹r‚炳‚ꂽ‚©‚çƒRƒƒ“ƒg’âŽ~‚µ‚½‚Æ‚©A‚»‚¤‚¢‚¤‚±‚Æ‚É‚³‚ê‚Ä‚ñ‚¾‚낤‚È
‚Ü‚ ‚»‚ê‚®‚ç‚¢‚Å‹–‚µ‚Ä‚â‚ê‚æB
‘Å‚½‚ê‹­‚¢l‚΂©‚肶‚á‚È‚¢‚ñ‚¾
’N‚©ƒRƒƒ“ƒg‚Å‚«‚Á‚‚¢‚±‚Æ‚Å‚à‘‚¢‚½‚©H
‹C‚¢‚½‚ç‚à‚¤Á‚¦‚Ä‚½‚©‚çŒo‰ß‚ª•ª‚©‚ç‚ñA‚Ü‚ ‚¨‚»‚ç‚­‚Í‚»‚¤‚È‚ñ‚¾‚낤‚¯‚ÇB

‚µ‚©‚µ‚±‚ꂶ‚á‹LŽ–‚Å‹C‚ɂȂ邱‚Æ‚ª‚ ‚Á‚Ä‚à‚Ç‚¤‚µ‚悤‚à‚È‚¢‚ÈB
techbank.jp ‚Á‚đЂƂ©‚ào‚µ‚Ä‚é‚©‚ç‚»‚ê‚È‚è‚ɉe‹¿—Í‚ ‚è‚»‚¤‚È‚ñ‚¾‚ªc
ƒ†[ƒU“o˜^‚µ‚ÄŒfŽ¦”‚ɑ‚¯‚Á‚Ä‚±‚Æ‚©c–Ê“|‚Èc
ƒJƒGƒ‹—‚ ‚í‚êEEE
>>458
ƒLƒc‚¢‚±‚Æ‚Í‘‚©‚ê‚Ä‚½‚ËB
Œ¾—t‚̓Lƒc‚©‚Á‚½‚¯‚dz‚µ‚¢Žw“E‚Å‚Í‚ ‚Á‚½B
Šm‚©‚É’N‚à‚ª‘Å‚½‚ê‹­‚¢‚킯‚¶‚á‚È‚¢‚Á‚Ä‚Ì‚Í•ª‚©‚邯‚Ç
‘Ðo‚µ‚½‚èAMVP‚¾‚Á‚½‚è‚·‚élŠÔ‚ª‹Zp“I‚ÈŽw“E‚É“¦‚°˜‚Á‚Ă̂̓_ƒ‚¾‚æB
‚»‚Ì‚Æ‚¨‚èB
>>460
‚ ‚ê‘‚¢‚½‚̉´‚È‚ñ‚¾‚¯‚ÇA‚Ü‚³‚©ŠÛ‚²‚ÆÁ‚³‚ê‚é‚Æ‚ÍŽv‚í‚È‚©‚Á‚½B
MVP‚¾‚µA–{o‚µ‚Ă邵AƒRƒ~ƒ…ƒjƒeƒB‚̉^‰c‚É‚àÏ‹É“I‚Èl‚Ý‚½‚¢‚¾‚©‚çA
”½˜_‚·‚é‚É‚¹‚æ’ù³‚·‚é‚É‚¹‚æA­‚È‚­‚Æ‚à^•‚È‘Ô“x‚Å“š‚¦‚Ä‚à‚炦‚é‚à‚ñ‚¾‚Æ
Žv‚Á‚Ä‚¢‚½‚ñ‚¾‚æ‚ËB

‚Ü‚ AŠm‚©‚ÉŒ¾—t‚Í‚«‚‚©‚Á‚½‚¯‚ÇA‚Ü‚Æ‚à‚ÈŽ¿–â‚Éã‚©‚ç–Úü‚Å“K“–‚ȉñ“š‚ð‚µ‚Ä‚é‚Ì‚ª
• —§‚½‚µ‚©‚Á‚½‚à‚ñ‚Å‚ËB

Žc”O‚¾‚ËB
RSS‚É‚Í
BitVector32 vs BitArray ‚ðŒfÚ‚µ‚Ü‚µ‚½
‚Á‚Ä‚Ì‚ªŽc‚Á‚Ă邯‚ÇA‚Ç‚ñ‚È’†g‚¾‚Á‚½‚Ì‚©•ª‚©‚ç‚È‚¢
‚Ç‚Á‚©‚É’†g‚Ì‚Á‚¯‚Ä‚­‚ê
MVPŽ––±‹Ç‚ÉA•ñ‚µ‚Æ‚¢‚½•û‚ª‚¢‚¢‚ÆŽv‚¤B
‚Ü‚ä‚Ý‚¿‚á[‚ñ
>>463
Google‚̃LƒƒƒbƒVƒ…‚Å‹LŽ–‚Í‚Ü‚¾Œ©‚ê‚é‚ËB
ŠÔˆá‚Á‚Ä‚é‚Æ‚¢‚¤‚æ‚艽ˆê‚ˆӖ¡‚ðˆ×‚µ‚Ä‚È‚¢‚ñ‚¾‚È
‘‚¢‚Ä‚é–{l‚ªŽ©•ª‚ʼn½‚â‚Á‚Ä‚é‚Ì‚©‚í‚©‚Á‚Ä‚È‚¢‚©‚ç‚í‚´‚ÆžB–†‚É‘‚¢‚Ä‚é‚Ì‚ª“`‚í‚Á‚Ä‚­‚é
469 F462F2010/06/13(“ú) 23:02:40
‚ ‚ñ‚Ü‚è“Ë‚Áž‚Ý‚Ç‚±‚낪‘½‚¢‚©‚çA’€ˆêŽw“E‚µ‚Ä‚½‚çƒRƒƒ“ƒg‚ª’·‚­‚Ȃ邵
•Ï‚Èl‚¾‚ÆŽv‚í‚ê‚»‚¤‚¾‚©‚çA1“_‚Éi‚Á‚Ä“Ë‚Áž‚ñ‚¾‚ñ‚¾‚¯‚Ç‚ËB
‚¢‚Á‚»‚–Ø_Œõ‚΂è‚É“Ë‚Áž‚Ý‚Ü‚­‚Á‚½•û‚ª—Ç‚©‚Á‚½‚Ì‚¾‚낤‚©H
>>469
‚ [AŽ„’m‚ç‚È‚©‚Á‚½‚í[B‚Á‚ÄŠ´‚¶‚Ì•¶Í‚È‚ñ‚¾‚©‚çA‚à‚Á‚ƃ\ƒtƒg‚É‚â‚Á‚Ä‚ ‚°‚Ä‚à‚¢‚¢‚ñ‚¶‚á‚È‚¢B
‚Ç‚ñ‚ȃRƒƒ“ƒg‚¾‚Á‚½‚ñH
Google‚àYahoo‚àƒLƒƒƒbƒVƒ…‚ɃRƒƒ“ƒg‚ª‚È‚¢‚È‚ 
Bing‚̓LƒƒƒbƒVƒ…‚·‚ç‚È‚¢‚µ
473 F462F2010/06/13(“ú) 23:17:13
ׂ©‚¢•¶Í‚ÍŠo‚¦‚Ä‚È‚¢‚ªA

BitVector32::Items‚ÆBitArray::Items‚Ì–ß‚è’l‚ð®”‚Æ‚µ‚Ä•]‰¿‚·‚é‚ƈقȂé’l‚É‚È‚é‚Æ
‚ ‚È‚½‚ÍŒ¾‚Á‚Ä‚¢‚Ü‚·‚ªA.Net‚ÌBooleanŒ^‚Í®”‚ƉŠ·‚È‚à‚Ì‚Å‚Í‚È‚¢‚Ì‚ÅA®”‚Æ‚µ‚Ä
•]‰¿‚·‚邱‚ƂɈӖ¡‚Í‚ ‚è‚Ü‚¹‚ñB‚Ü‚½A“à•”“I‚É‚à1ƒrƒbƒg‚Ì®”‚Æ‚µ‚ÄŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·‚Ì‚ÅA
®”‚É•ÏŠ·‚µ‚½Œ‹‰Ê‚Í–ˆ‰ñ“¯‚¶‚Å‚·B-1‚ªo—Í‚³‚ê‚Ä‚¢‚é‚Ì‚ÍA‚ ‚È‚½‚ªConsole.WriteLine‚Ì
ƒtƒH[ƒ}ƒbƒg•¶Žš—ñ‚Ég-1h‚Æ‘‚¢‚½‚©‚ç‚Å‚·B
Šî–{“I‚ȃf[ƒ^Œ^‚ɂ‚¢‚Ä—‰ð‚µ‚Ä‚¢‚È‚¢‚Ì‚Í‚ ‚È‚½‚Ì•û‚Å‚·B³“–‚È‹^–â‚É–Ø‚Å•@‚ð‚­‚­‚Á‚½‚悤‚È
•Ô“š‚ð‚·‚é‘Ô“x‚Í”ñí‚É•s–ù‰õ‚Å‚·B

‚Æ‚¢‚Á‚½‚Æ‚±‚ëBÅŒã‚É—]Œv‚È‚±‚Æ‚ðŒ¾‚Á‚Ä‚¢‚邯‚ÇA‚±‚ê‚͈ȑO‚ɃRƒƒ“ƒg‚ð‚µ‚Ä‚¢‚½l‚ÉA
ƒrƒbƒg‘€ì‚ÌŠT”O‚ð•×‹­‚µ‚È‚¢‚Æ‚±‚Ì‹LŽ–‚Í—‰ð‚Å‚«‚È‚¢‚æA‚Æ‚¢‚¤‚悤‚È•Ô“š‚ð‚µ‚Ä‚¢‚½‚Ì‚ÅA
‚»‚ê‚ɑ΂·‚é‚à‚ÌB
.NET‚Ìbool‚Í8ƒrƒbƒg‚Å0‚ªfalse‚Å0ˆÈŠO‚ªtrue‚¶‚á‚È‚©‚Á‚½‚Á‚¯
‹LŽ–‚̊ԈႢ‚Í•Ê–â‘肾‚ª
‹LŽ–‚²‚ÆÁ‚·‚قǂ̃Rƒƒ“ƒg‚¶‚á‚È‚¢‚í‚ÈB
‚½‚Ü‚½‚ÜŽc‚Á‚Ä‚½‚©‚çˆê‰ž‘‚¢‚Ä‚¨‚±‚¤B
ʼn‚̃Rƒƒ“ƒg
----
> ‚Ü‚Æ‚ß‚é‚ÆA
> BitVector32 BitArray
> true -1 ‚ð•\‚· 1 ‚ð•\‚·
> false 0 ‚ð•\‚· 0 ‚ð•\‚·
> ‚Æ‚È‚è‚Ü‚·B
‚±‚ê‚Í‚¢‚Á‚½‚¢‚Ç‚¤‚¢‚¤ˆÓ–¡‚Å‚µ‚傤‚©H
----

‚»‚Ì•Ô“š
----
ƒrƒbƒgƒtƒ‰ƒO‚ªON‚ÌꇂªTrueAƒrƒbƒgƒtƒ‰ƒO‚ªOFF‚ÌꇂÍFalse‚Å‚·B
‚±‚ÌON/OFF‚ð”’l‚Å•\‚µ‚½ê‡ABitArray‚ÆBitVector32‚Æ‚Å‚ÍON/OFF‚Ì”’l‚̈Ӗ¡‚ªˆÙ‚È‚é‚Æ‚¢‚¤‘Δä•\‚É‚È‚è‚Ü‚·B
‚»‚à‚»‚àƒrƒbƒg‚ÌŠT”O‚ª‚í‚©‚Á‚Ä‚¢‚È‚¢‚ÆA‚±‚ÌBlog‚Ìà–¾‚É‘‚¢‚Ä‚ ‚éà–¾‚ð—‰ð‚µ‚悤‚Æ‚µ‚Ä‚à–³—‚Å‚·‚Ì‚ÅA‚à‚µ‹M•û‚ªƒrƒbƒg‚Ìl‚¦•û‚ª—Ç‚­‚í‚©‚ç‚È‚¢‚Æ‚¢‚¤ê‡‚ÍA
“ü–å‘Ђâ‚Ù‚©‚ÌWebƒTƒCƒg‚Å‚»‚Ì•Ó‚è‚ð•×‹­‚µ‚Ä‚©‚çA‚±‚ÌBlog‚É‘‚¢‚Ä‚ ‚éˆÓ–¡‚ð‹‚‚ÝŽæ‚Á‚Ä‚­‚¾‚³‚¢B
----
‚¢‚«‚È‚èUŒ‚“I‚È•Ô“š‚¾‚ÈB‚ ‚Ì“ú‚¾‚Á‚½‚肵‚½‚Ì‚©H‚—
‹LŽ–‚ÍÁ‚¦‚Ä‚à‰æ‘œ‚ÍŽc‚Á‚Ä‚é‚ñ‚¾‚È

ttp://techbank.jp/Community/blogs/mymio/image_5233298A.png
ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Å‹³‚¦‚Ä‚­‚¾‚³‚¢B
ƒ\ƒPƒbƒgƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ÅAŽóMƒXƒŒƒbƒh‚ªƒLƒ…[‚Ƀf[ƒ^‚ð—­‚ß‚ÄA
ƒƒCƒ“ƒXƒŒƒbƒh‚͇ŽŸƒf[ƒ^‚ð“Ç‚Ýo‚µ‚Ĉ—‚·‚é‚Æ‚¢‚¤ƒvƒƒOƒ‰ƒ€‚ð‘‚¢‚Ä‚¢‚Ü‚·B

ƒƒCƒ“ƒXƒŒƒbƒh‚̓Lƒ…[‚Ƀf[ƒ^‚ª–³‚¯‚ê‚ÎŽóM‚·‚é‚Ü‚Å‘Ò‹@‚µ‚½‚¢‚Ì‚Å‚·‚ªA
ˆê”Ê“I‚É‚Ç‚¤ŽÀ‘•‚·‚é‚à‚Ì‚Å‚µ‚傤‚©H

‚Æ‚è‚ ‚¦‚¸ì‚Á‚½ŽóMƒXƒŒƒbƒh‚ÍA
Monitor.Enter(obj);
ŽóMƒ‹[ƒv
@ƒLƒ…[‚ÉŠi”[
@Monitor.Exit(obj);
@Monitor.Enter(obj);
ƒ‹[ƒvEnd
Monitor.Exit(obj);

ŽóM‚Ì“s“xExit‚µ‚ăƒCƒ“ƒXƒŒƒbƒh‚ÉŠ—LŒ ‚𖾂¯“n‚µ‚Ä‚¢‚Ü‚·B
“®ì‚É‚Í–â‘è‚È‚³‚»‚¤H‚È‚ñ‚Å‚·‚¯‚ÇA‚È‚ñ‚©ƒXƒ}[ƒg‚¶‚á‚È‚¢‚Æ‚¢‚¤‚©BBB
AutoResetEvent‚‚©‚¤
lock (q)
ƒ‹[ƒvŠJŽn
}
ƒ~ƒX‚Á‚Ä‘‚«‚±‚ñ‚¶‚Ü‚Á‚½A‚È‚µ‚È‚µ‚È
BlockingQueueŒn“‚ðŽg‚¤‚Ì‚ª’è΂¾‚ªA
.NET 4‚æ‚è‘O‚É‚Í‚È‚©‚Á‚½‚ÈŠm‚©B
BlockingQueue‚Æ‚©ŽÀ‘•‚Í‚»‚±‚ç‚É“]‚ª‚Á‚Ä‚»‚¤‚¾‚ªB
>>479
.Net4‚ªŽg‚¦‚é‚È‚ç BlockingCollection<T> ˆê‘ðB
‚‚©‚¦‚È‚¢‚È‚çA«‚±‚¤‚¢‚¤“¯Šú‹@”\•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚¤B
http://www.codeproject.com/KB/recipes/boundedblockingqueue.aspx

‚¢‚¸‚ê‚É‚µ‚Ä‚àA‚»‚¤‚¢‚¤ƒpƒ^[ƒ“i‚¢‚í‚ä‚éProducer-Consumerƒpƒ^[ƒ“j‚Å‚Í
“¯Šú‹@”\‚̓Lƒ…[‚ÉŽ‚½‚¹‚é‚Ì‚ªˆê”Ê“IB‚ÅAProduceri‚±‚Ìꇂ͎óMƒXƒŒƒbƒhj‚Í
ƒf[ƒ^‚ðƒLƒ…[‚É“ü‚ê‚邾‚¯AConsumeri‚±‚Ìꇂ̓ƒCƒ“ƒXƒŒƒbƒhj‚̓Lƒ…[‚©‚ç
Žæ“¾‚·‚邾‚¯‚É‚·‚éB
MVP‚Á‚Äʼn‚Ì (2003”N‚Æ‚©‚»‚Ì j‚Í‚¢‚¢‚È‚ÆŽv‚Á‚Ä‚½‚ñ‚¾‚ªA‚í‚ñ‚­‚Ü“¯–¿‚Æ‚©Œ¾‚¢o‚µ‚½ ‚©‚ç
“é‚ꇂ¢F‚ª‹­‚­‚È‚Á‚Ä‚«‚ÄA‚È‚ñ‚Ä‚¢‚¤‚©A‚±‚̃uƒƒO‚ÌŽå‚ÍMVP‚É‚È‚éðŒ‚ð–ž‚½‚µ‚Ä‚¢‚È‚¢‚É‚à
‚©‚©‚í‚炸A„‘E§“x‚ðˆ«—p‚µ‚ÄMVP‚É‚È‚Á‚½Š´‚ª‚ ‚é‚ÈB

‚±‚ñ‚È‚ñ‚ªƒAƒhƒoƒCƒU‚Æ‚µ‚Ä‚‚¢‹à‚ðŽæ‚Á‚Ä‚é‚©‚ÆŽv‚¤‚Æ‚È‚ñ‚Æ‚à‚¢‚¦‚È‚¢‹CŽ‚¿‚É‚È‚éB
MVP‚ðê‘®‚ňø‚Á’£‚é‚Æ100–œ/T‚®‚ç‚¢Žæ‚ç‚È‚©‚Á‚½‚©H

ŽŸ‰ñ”’D‚³‚ê‚é‚Æ—Ç‚¢‚ªB
>>485
> MVP‚ðê‘®‚ňø‚Á’£‚é‚Æ100–œ/T‚®‚ç‚¢Žæ‚ç‚È‚©‚Á‚½‚©H
‚»‚ñ‚Ȃɉ¿’l‚ ‚é‚Ì‚©H
‚Ü‚ A‚·‚²‚¢‚Ì‚Í‚¢‚éB
nyaruru‚Æ‚©‚Á‚Ä–{‹Æ‰½‚µ‚Ä‚ñ‚ÌH
‚»‚ñ‚È‚ÉŽæ‚ê‚Ü‚¹‚ñB‚ŽŽ‚ÍGoogle‚ÉEEEB
Google‚¾‚ÆWindowsŽg‚¦‚È‚­‚Ȃ邶‚á‚ñ
‘åä•v‚©‚È
CodeProject‚Å‚¶‚á‚ñ‚¶‚á‚ñ‹LŽ–‘‚«‚Ü‚­‚Á‚Ä‚é“z‚Æ‚©A¦‚¢‚Ì‚ª‚¢‚éB
“ú–{ŒêƒTƒCƒg‚ÅMVP‚ð–¼æ‚Á‚Ä‚é“z‚Ì’†‚É‚ÍA‚±‚¤‚¢‚¤‚µ‚傤‚à‚È‚¢‚Ì‚ªŽžX‚¢‚é‚©‚ç
‚ ‚ñ‚Ü‚èM—p‚Í‚µ‚Ä‚È‚¢‚¯‚ÇB
‚±‚Ìl‚àŒ‹\ƒƒfƒBƒA‚ɘIo‚µ‚Ä‚¢‚邯‚ÇAM—p‚ð‚È‚­‚·‚悤‚Ès“®Žæ‚Á‚Ä‘åä•v‚È‚Ì‚©H
u‚í‚©‚Á‚Ä‚Ü‚¹‚ñ‚Å‚µ‚½B¸i‚µ‚Ü‚·v‚Á‚ÄŒ¾‚¦‚ÎÏ‚ñ‚¾‚±‚Æ‚È‚Ì‚ÉB
>MVP‚ð–¼æ‚Á‚Ä‚é“z‚Ì’†‚É‚Í
MVP‚Í•Ê‚ÉŽÀ—Í‚ÉŠÖŒW‚È‚¢‚µ‚È

‚Ü‚ŸFX“Á“T‚à‚炦‚é‚̂ͳ’¼‚¤‚ç‚â‚Ü‚µ‚¢
‚Ç‚±‚ª‚¶‚á
493 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/14(ŒŽ) 13:49:43
>>492
MVP‰³
‚Ü‚ MVP‚ÉŽÀ—Í‚ÍŠÖŒW‚È‚¢‚ÈB
‚Å‚àAˆê‚‚̃e[ƒ}‚ŃRƒ~ƒ…ƒjƒeƒB’z‚­—͂ͦ‚¢‚ÆŽv‚í‚È‚¢B
‚¤‚ñBŽv‚í‚È‚¢B
Žv‚í‚È‚¢‚ñ‚©‚¢w
MVP‚Á‚Ä”Œ‹\‘½‚¢‚æ‚ËB
ˆêŽžŠúA‚à‚Ì‚·‚²‚¢‘‚¦‚ÄA¡‚Í‘½­Œ¸‚Á‚½‚Ý‚½‚¢B
‚‚¢‹àŽæ‚é‚Ì‚Á‚ăGƒoƒ“ƒWƒFƒŠƒXƒg‚Æ‚©‚»‚¤‚¢‚¤‚Ì‚¶‚á‚È‚¢‚Á‚¯H
ƒRƒ“ƒTƒ‹
>>480-484
ƒŒƒXƒTƒ“ƒNƒX‚Å‚·B
Producer-Consumerƒpƒ^[ƒ“‚Å‚®‚®‚Á‚½‚çƒYƒoƒŠo‚Ä‚«‚Ü‚µ‚½B
‚±‚ñ‚Ȉê”Ê“I‚Șb‚¾‚Á‚½‚È‚ñ‚ÄEEEorz
ƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å‚Íproducer‚Æconsumer‚Ì“¯Šú‚ª‚Æ‚ê‚È‚¢‚Á‚Ä‚Ì‚ªA
ƒvƒƒOƒ‰ƒ€‚ðƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‰»‚·‚é‘å‚«‚È“®‹@‚̈ê‚‚¾‚à‚ñ‚ÈB
‚¤‚ñB
ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Æ‚¢‚¦‚Î.Net4Žg‚Á‚Ä‚é‚̂ɶ‚Ìthread‚â‚çthreadpool‚â‚ç‚ðŽg‚Á‚Ä‚é“z‚͉½‚ª‚µ‚½‚¢‚Ì‚©‚í‚©‚ç‚ñ
‚ǂꂾ‚¯‰´—lƒ‰ƒCƒuƒ‰ƒŠ‚ð—ÊŽY‚µ‚½‚¢‚Ì‚©‚ƬˆêŽžŠÔi‚’‚™
Producer-Consumerƒpƒ^[ƒ“‚Ȃ綂¾‚낤‚ÆBackgroundWorker‚¾‚낤‚Ƒ債‚Ä•Ï‚í‚ç‚ñ‚¾‚ë
‚»‚¤‚¢‚¤‚±‚Æ‚¶‚á‚È‚¢‚¾‚ëB
‚Ù‚¤
>>502‚̓vƒƒfƒ…[ƒT[ƒRƒ“ƒVƒ…[ƒ}[‚ÉŒÀ‚Á‚½˜b‚Í‚µ‚Ä‚È‚¢‚æ‚ËB
‚»‚ñ‚ÈMS‚̉´—lƒNƒ‰ƒXì‚ç‚ê‚Ä‚àA‚¢‚ƒTƒ|[ƒg‚³‚ê‚È‚­‚È‚é‚©•ª‚©‚ç‚È‚¢‚µ‚ÈB
‚µ‚©‚µ‚Ü‚Ÿ‘åŽè‚̃}ƒ‹ƒ`ƒXƒŒƒbƒhŠÖ˜A‚Ì‹LŽ–‚͌¢‚à‚̂΂©‚肾‚È
–Z‚µ‚­‚È‚¯‚è‚ቴ‚ªŠñe‚µ‚Ä‚ ‚°‚½‚¢‚®‚ç‚¢‚¾‚í
509 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/15(‰Î) 22:37:49
>>508
ƒuƒƒO‚É‚Å‚à‘‚¯

ƒL[ƒ[ƒh‚³‚¦‚¤‚Ü‚­”z’u‚µ‚Ä‚ê‚΂»‚Ì‚¤‚¿L‚Ü‚é‚æ
‰´—lƒ‰ƒCƒuƒ‰ƒŠiŽÔ—Ö‚ÌÄ”­–¾j”á”»‚Í‚¢‚¢‚Æ‚µ‚ÄA
‚»‚ꂪ‚Ç‚¤‚µ‚Äu¶‚Ìthread‚â‚çthreadpool‚â‚ç‚ðŽgv‚¤‚±‚Æ‚ª‚»‚ꂾ‚Á‚ÄŒ¾‚¤‚ÌH

‚»‚Á‚¿‚Ì•û‚ªˆÓ–¡‚ª‚í‚©‚ç‚ñ‚æB
>>458
‚ñ[‚±‚Ìblog‚È‚ñ‚Æ‚È‚­Œ©‚Ä‚½‚ç‹C‚É‚È‚é‚Æ‚±‚¢‚Á‚Ï‚¢‚ ‚é‚Èc
‚Å‚à‚à‚¤ƒRƒƒ“ƒg‚à‚Å‚«‚ñ‚µB
‚Á‚Ä‚¢‚¤‚©‚¾‚ê‚©‚·‚łɃRƒƒ“ƒg‚µ‚Ä‚ÄÁ‚¦‚¿‚Ü‚Á‚½‚Ì‚©‚à‚µ‚ê‚ñ‚ªB
>>504
.NET4G‚Á‚Ä‚È‚¢‚©‚ç‚æ‚­‚í‚©‚ç‚È‚¢‚ñ‚¾‚ªAThreading.thread‚ÍŽg‚킸‚ÉBackgroundWorkerŽg‚¦‚Á‚ÄŽ–H
‚»‚ê‚Æ‚à.NET4‚Í‚à‚Á‚Æ•Ö—˜‚È‚Ì‚ª‚ ‚é‚Á‚Ä‚±‚ÆH
‚ ‚é‚æ
>>512
Task ƒNƒ‰ƒX‚Æ‚©AParallel ƒNƒ‰ƒX‚Æ‚©‚ª‘‚¦‚½B
–Ú“I‚ªˆÙ‚È‚é‚à‚Ì‚ð”äŠr‚·‚éˆÓ–¡‚ª‚í‚©‚ç‚ñ
‚¦H‚—
‚ÍH
‚ H‚—
‚¨H
•À—ñ—p‚̃pƒ‰ƒŒƒ‹API‚âParallel Linq‚ÅAGUI‚Ì”ñƒuƒƒbƒN‰»ˆ—‚ð‘‚¢‚¿‚Ⴄ‚킯‚©B
‚»‚ê‚Í‚»‚ê‚Å‚â‚΂°‚¾‚ÈB
’N‚©‚¢‚È‚¢‚Ì‚©H
‚»‚ê‚Í‚»‚ê‚Å‚â‚΂°‚¾‚È‚Á‚ÄŒ¾‚Á‚Ä‚ñ‚¾‚ëI
‚Ó‚´‚¯‚ñ‚ÈI
‰´‚ª‚â‚΂°‚¾‚Ȃ‚Á‚Ä‚é‚ñ‚¾‚©‚甽‰ž‚µ‚₪‚êI
‚¾‚ ‚ê‚à‚¢‚È‚¢(LEƒÖEM)¼®ÎÞ°Ý
‚»‚ê‚Í‚»‚ê‚Å‚â‚΂°‚¾‚ªA‚»‚ê‚à‚ ‚è‚È‚ñ‚¶‚á‚È‚¢‚©‚È‚Á‚ÄA¡‚Í‚»‚¤Žv‚¦‚Ü‚·B
.net4‚̓Lƒƒƒ“ƒZƒ‹ƒtƒŒ[ƒ€ƒ[ƒN‚ª’ljÁ‚³‚ꂽ‚Ì‚ª‚¢‚¢‚È
‚±‚ê‚Ń}ƒ‹ƒ`ƒXƒŒƒbƒh‚ðŽg‚¤l‚ª‚¿‚á‚ñ‚ƃLƒƒƒ“ƒZƒ‹ŽÀ‘•‚ð‚·‚é‚悤‚É‚È‚ê‚΂¢‚¢‚ª…
Ž¨–ÑA•@–Ñ‚ð΂¤B
‚µ‚©‚µA‚»‚ñ‚ȃXƒŒƒbƒh‚ð“Žg‚·‚é‚悤‚ÈŒvŽZ—ʂ̃AƒvƒŠ‚Á‚Ä‘‚¢‚½‚±‚Æ‚È‚¢‚È‚ŸB
‚ ‚é‚Æ‹ÓŠì–ô‚·‚él‚ª‚¢‚é‚Ì‚Í•ª‚©‚邪ƒpƒ“ƒs[‚ȃvƒƒOƒ‰ƒ}‚Å‚»‚ñ‚È‚à‚Ì—v‚é‚ÌH
‚¿‚á‚ñ‚ƃvƒƒtƒ@ƒCƒŠƒ“ƒO‚µ‚Ä‚ê‚ÎAƒLƒƒƒ“ƒZƒ‹‚È‚ñ‚Äl‚¦‚é•K—v‚È‚ñ‚Ä–³‚¢‚Ì‚ªŒoŒ±‘¥B

‚»‚ê‚Æ‚àŠFA‚à‚µ‚©‚µ‚Ä•¨—ƒVƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚Æ‚©ˆÃ†Œ®‰ð“Ç‚Æ‚©‚Å‚à‚â‚Á‚Ä‚é‚Ì‚©H
ƒXƒŒƒbƒh‚ð“Žg‚·‚é‚©‚Ç‚¤‚©‚ƃLƒƒƒ“ƒZƒ‹‚ðl‚¦‚é‚©‚Ç‚¤‚©‚ª‚È‚ñ‚Å“¯—ñ‚É•À‚ñ‚Å‚ñ‚ÌH
‰´‚ÌŒoŒ±‚©‚ç‚¢‚¯‚΂»‚ê‚ç‚ÍŠÖŒW‚ª‚È‚¢‚ñ‚¾‚¯‚ÇB
‚¢‚âA’·ŽžŠÔ‚¶‚á‚È‚­‚Ä‚àGUIƒAƒvƒŠ‚ÅŒvŽZ‚µ‚悤‚Æ‚µ‚½‚ç•ÊƒXƒŒƒbƒh‚É‚·‚邾‚ëB
‚µ‚È‚¢H‚Ȃ猾‚¤Ž–‚͉½‚à–³‚¢‚ÈB
C#‚ÅGUIƒAƒvƒŠ‚ð‚‚­‚Á‚½‚ç‚»‚ê‚ð•ÊƒXƒŒƒbƒh‚Ås‚í‚È‚¢‚±‚Æ‚ª¢“‚낤B
ƒpƒ‰ƒŒƒ‹‚ðŠˆ—p‚·‚é‚Ì‚Í‚»‚ê‚È‚è‚ÉŒÀ‚ç‚ê‚Ă邯‚ÇA
ƒ^ƒXƒNŒn“‚Í•’Ê‚ÉŽg‚¤‚Å‚µ‚åB
>>527‚Í‚Ç‚¤‚µ‚悤‚à‚È‚¢ƒoƒJ
ƒXƒŒƒbƒh‚̃Lƒƒƒ“ƒZƒ‹‘‚¯‚È‚¢ƒoƒJ‚͈궃}ƒ‹ƒ`ƒXƒŒƒbƒh‚·‚é‚ÈB
‚±‚¤‚â‚Á‚Ä‚Ý‚é‚Æ‚¢‚©‚Ƀ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ðŽg‚¢‚±‚È‚µ‚Ä‚È‚¢‚©‚í‚©‚é‚È
‚Ü‚Ÿ‚¿‚á‚ñ‚Æ‚í‚©‚Á‚ÄŽdŽ–‚ÅŽg‚Á‚Ä‚élŠÔ‚È‚ñ‚Ä‚Ù‚ñ‚̈ꈬ‚è‚Ȃ킯‚¾‚ª
‚Þ‚µ‚ë‚æ‚­‚í‚©‚ç‚È‚¢‚È‚çŽg‚í‚È‚¢•û‚ª—Ç‚¢‚Æ‚ÍŽv‚¤B
‘å’ï‚̃rƒWƒlƒXƒAƒvƒŠ‚ÍŽg‚í‚ñ‚Å‚à‰½‚Ì–â‘è‚à‚È‚¢B
‰´‚̓rƒWƒlƒXƒAƒvƒŠì‚Á‚Ă邯‚Ç‚©‚Ȃ葽—p‚µ‚Ä‚é‚È
‚Æ‚Í‚¢‚¦‚ ‚܂茩‚È‚¢‚Ì‚à‚½‚µ‚©
UI‚ªƒtƒŠ[ƒY‚µ‚½‚è•¡”‚̃^ƒXƒN‚ª“¯Žž‚Éo—ˆ‚È‚¢ƒAƒvƒŠ‚ª‘½‚¢Ž–‘½‚¢Ž–…
ŽdŽ–‚¾‚Ɗ댯‚·‚¬‚Ä‚â‚点‚é‹C‚É‚È‚ç‚ñ‚Ì‚¾‚æ‚ËB
Ž©•ª‚¾‚¯‚Åì‚é•”•ª‚È‚ç‚¢‚¢‚ñ‚¾‚ªB
‚Ô‚Á‚¿‚ႯƒXƒŒƒbƒh‚Á‚ē‚¢‚¶‚á‚ñ
ƒTƒ“ƒvƒ‹’ö“x‚Ì‚à‚Ì‚È‚çŠÈ’P‚É—‰ð‚Å‚«‚邵ŽÀ‘•‚àŠÈ’P‚¾‚¯‚Ç
‚¢‚´‚¿‚á‚ñ‚Æ‚â‚낤‚ÆŽv‚Á‚½‚瓯ŠúA“¯’²A”r‘¼A—áŠOˆ—AƒLƒƒƒ“ƒZƒ‹Aetc...‚Æ•³“‚¢
ÝŒv—Í‚à”’iã‚Ì—Í‚ª‹‚ß‚ç‚ê‚邵‚³[
‹Æ–±Œn‚Æ‚©‚»‚ꂪo—ˆ‚È‚¢‚©‚烂[ƒ_ƒ‹ƒEƒBƒ“ƒhƒE‚É“¦‚°‚Ä‚él‘½‚¢‚¶‚á‚ñ‚æ
’†‹‰ŽÒŒä—p’B‚̃NƒbƒN–{B
‚»‚Ì’†‚Å‚àÅ‚à“ïˆÕ“x‚Ì‚‚¢”ñ“¯Šú€–Ú‚Ý‚Ä”’´‰SŽÒŒü‚¯‚¾‚È”‚Æ‚©Žv‚¦‚él‚ªW‚Ü‚ç‚È‚¢‚ÆŽÀ–±‚¶‚á–³—B
ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Í•|‚¢‚Å‚·
‚Í‚¢‚Í‚¢
ŽÀÛ‚Ì‚Æ‚±‚ëAUIŽ~‚ß‚½‚­‚È‚¢‚©‚ç— ‚ŃXƒŒƒbƒhA‚­‚ç‚¢‚É‚µ‚©Žg‚Á‚Ä‚È‚¢B
GUI‚Ì— ‚ÅŒvŽZ‚¾‚Æ‚©’ÊM‚¾‚Æ‚©‚·‚é‚È‚çbackgroundworker‚Å‚æ‚­‚ËH
MS‚à‚±‚¤‚¢‚¤—p“r‚Ì‚½‚ß‚Éì‚Á‚½‚ñ‚¶‚á‚È‚¢‚Ì‚©‚Ë
•’Ê‚ÌŽó‘õŠJ”­‰®‚È‚ç’ÊM•”•ª‚Á‚ÄŽ©‘O‚Å‘‚©‚È‚¢ê‡‘½‚¢‚µ
’á”\‚¾‚©‚ç‚ËB
>>542
‚¾‚Á‚Ä‚»‚êŽg‚¤‚Æ“¯’²‚µ‚É‚­‚¢‚¶‚á‚ñ…
ƒXƒŒƒbƒh‚àˆê–{‚µ‚©Žg‚í‚È‚¢‚µ…
‚»‚êˆÈã‚ÉUI‚Ƀxƒbƒ^ƒŠ‚ÈŽd—l‚¾‚©‚çƒrƒWƒlƒXƒƒWƒbƒN•”•ª‚É‚Í•sŒü‚«

•¡”‚̃XƒŒƒbƒh‚Å•ÊX‚̈—‚ð‚â‚Á‚Ä‚ ‚鎞“_‚Å”ñ“¯Šú‚ÉWŒv‚µ‚Ä‚»‚ÌŒã‚É‚Ü‚½•Ê‚̈—‚ð…
‚È[‚ñ‚Ä‚±‚Æ‚â‚é‚ƈê‹C‚É“ïˆÕ“x‚ªƒOƒO[[[ƒ“‚Æオ‚Á‚¿‚á‚¢‚Ü‚·I„ƒ
o—ˆ‚é‚È‚ç‚â‚è‚á‚¢‚¢‚ÆŽv‚¤‚¯‚Ç
“K“–‚Él‚ ‚‚߂é‚Æo—ˆ‚È‚¢l‚Ì•û‚ª‘½‚¢‚©‚ç‚È‚ B
’á‚¢•û‚ɇ‚킹‚Äì‚ç‚ñ‚ÆŽ€‚Ê‚æ‚Ë
UIŽ~‚ß‚È‚¢‚Ì‚Í‘€ìŠ´‚̉ü—Ç‚¾‚©‚çA‘½d‚Ì•À—ñˆ—‚Í‚Å‚«‚È‚¢‚悤‚É‚µ‚Ă邪A
“Á‚É‹q‚©‚當‹åŒ¾‚í‚ꂽŽ–‚È‚¢‚ÈB
ŒvŽZ‚ª’x‚¯‚è‚á\’†”ª‹ã‚̓f[ƒ^‚ÌŽ‚¿•û‚Æ‚©‚É–â‘肪‚ ‚Á‚Ä’x‚¢‚©‚çA’x‚¢‚Æ
•¶‹åŒ¾‚í‚ꂽ‚ç‰ü—Ç‚·‚éB
•¶‹åŒ¾‚í‚ê‚È‚¯‚¢ŒÀ‚èA•ÛŽç‚Æ‚©‚ªŠy‚È•û‚ɈÓ}“I‚É—¬‚µ‚Ä‚éB

‚Å‚àƒXƒŒƒbƒh‚Æ‚©(‚ ‚ÆM‚¶‚ç‚ê‚È‚¢‚±‚ƂɃRƒŒƒNƒVƒ‡ƒ“)‚ðƒwƒ‹ƒv‚̃Tƒ“ƒvƒ‹ˆø‚«ŽÊ‚µ
ƒŒƒxƒ‹‚ÅŽg‚Á‚Ă邾‚¯‚ÅAƒ}ƒjƒAƒbƒN‚¾‚Æ‚©“‚­‚Ä‘¼‚Ìl‚ª•ÛŽço—ˆ‚È‚¢‚©‚ç
ƒ`[ƒ€ì‹Æ‚Å‚Í‚â‚ß‚Ä‚­‚ê‚È‚¢‚©‚Æ‚©”l“|‚³‚ê‚Ä
(LEƒÖEM)BBB(‚¢‚­‚ç‚È‚ñ‚Å‚à‚ ‚ñ‚½‚炪Žž‘ã’x‚ꂾ‚ë)
‚Æ‚©Žv‚¤‚ª‘ŠŽè‚ª‘命”‚È‚Ì‚ÅŒ¾‚¦‚È‚¢B
‚±‚ê‚͉´‚̋΂ß悪ƒuƒ‰ƒbƒN‚È‚ñ‚¾‚æ‚ÈA‚ÈHˆê”Ê“I‚¶‚á‚È‚¢‚æ‚ÈHiƒ}”Âs‚¯Ž©•ªj
>>544
ŸŽè‚Éオ‚ê‚Î[[[[‚©(LEƒÖEM)
>>544
‚»‚¤‚¢‚¤Žž‚Í‚Ù‚©‚Ì•û–@‚Å‚â‚邾‚낤‚æB
ŠOŽ‘‚̉´‚ªŒ¾‚¤‚Ì‚à‰½‚¾‚ª–¢‚¾‚É‘“à‚Å‘g‚ñ‚Å‚éƒGƒ“ƒWƒjƒA‚̓Œƒxƒ‹‚ª’á‚¢‚È…
ƒXƒŒƒbƒh‚®‚ç‚¢Žg‚¢‚±‚È‚¹‚æ…
>>549
>ƒXƒŒƒbƒh‚®‚ç‚¢Žg‚¢‚±‚È‚¹‚æ

ƒŒƒxƒ‹‚Ì’á‚¢‰ïŽÐ‚ɋ΂߂Ăé‚Ì‚Å‚·‚Ë‚—
‚Ü‚ Ž©Ì•ª‚©‚Á‚Ä‚é‚â‚‚ªˆê”Ô’n—‹‚È‚ñ‚¾‚¯‚Ç‚ÈB
Žg‚¢‚±‚È‚¹‚Ă鉴‚Í‚¢‚‚̊Ԃɂâ‚ç㋉PG‚¾‚Á‚½‚悤‚¾
‚¨‚Ü‚¦“™A‰´‚Ɉ¥ŽA‚ÍH
ttp://blogs.msdn.com/b/hiroyuk/archive/2010/05/26/10015338.aspx
‚È‚ñ‚Åvolatile‚È‚Ì‚É–â‘肪”­¶‚·‚é‚Ì‚©à–¾‚µ‚Ä‚Ý‚ÄB
>>553
à–¾‚à‚È‚É‚à“ñ‚‚̃XƒŒƒbƒh‚ª‹¦’²‚·‚ׂ«‚È‚Ì‚É‚»‚Ì‘€ì‚ð‚¢‚ê‚Ä‚È‚¢‚©‚炾‚ë
‚»‚̃uƒƒO‚¶‚ᓯŽž‚ÉŽÀs‚³‚ê‚é‰]X‚¢‚Á‚Ă邪ƒXƒPƒWƒ…[ƒ‰‚ÌŽw’肪–³‚¢ˆÈã‚Ç‚Á‚¿‚ª—D悳‚ê‚é‚Ì‚©‚̓vƒƒZƒbƒT”C‚¹
‚Â[‚©ƒƒbƒN‚·‚ç‚©‚¯‚Ä‚È‚¢ŒÝ‚¢‚Ìó‘Ô˜M‚Á‚ĉ½‚ª‚µ‚½‚¢‚Ì‚©‚킯‚í‚©‚ç‚ñ
volatile‚Í‘S‚­ŠÖŒW‚Ë‚¥‚æ

‚Ó[A‚â‚Á‚ω´‚Á‚Ä“VË‚¾‚í
㋉PG‚È‚ß‚ñ‚È‚æI
>>554
‰½‚ðŒ¾‚Á‚Ä‚é‚ñ‚¾‚¨‘O‚Íc
volatile‚ɂ͇˜•Ûá‚Ì–ðŠ„‚ª‚ ‚éB
Evolatile“Ç‚Ýž‚Ý‚æ‚è‘O‚Ì‘‚«ž‚Ý‚Í•K‚¸æ‚ÉŽÀs‚³‚ê‚é
Evolatile‘‚«ž‚Ý‚æ‚èŒã‚Ì“Ç‚Ýž‚Ý‚Í•K‚¸Œã‚ÉŽÀs‚³‚ê‚é
‚É‚àŠÖ‚í‚炸>>553‚Å‚Í‚·‚ׂĂ̓ǂݑ‚«‚ªvolatile‚Ȃ̂ɇ˜–â‘肪‹N‚±‚éB
‚±‚ê‚Í‚È‚º‚©à–¾‚µ‚Ä‚Ý‚ë‚Æ‚¢‚¤˜bB
‚¢‚âA
Evolatile‘‚«ž‚Ý‚æ‚è‘O‚Ì‘‚«ž‚Ý‚Í•K‚¸æ‚ÉŽÀs‚³‚ê‚é
Evolatile“Ç‚Ýž‚Ý‚æ‚èŒã‚Ì“Ç‚Ýž‚Ý‚Í•K‚¸Œã‚ÉŽÀs‚³‚ê‚é
‚©‚È
‚¾‚©‚烌ƒWƒXƒ^ˆË‘¶ƒvƒƒZƒbƒT‚Ɉˑ¶‚·‚é‚‚Á‚Ä‚ñ‚¾‚ë[
‚»‚ê‚ð‘jŽ~‚·‚éˆ×‚É`‚â‚è‚Ü‚µ‚傤‚Æ‚©‚¸‚ê‚Ä‚é‚킯‚Å
‚¿‚á‚ñ‚Æ‚â‚é‚Ȃ烃bƒN‚â“K؂ȃXƒPƒWƒ…[ƒ‰‚ðŽw’è‚·‚é‚Ì‚ªí‚È‚ñ‚¾‚æI

㋉PG‚È‚ß‚ñ‚È‚æI
㋉‚È“y•û
‚Ü‚Á‚½‚­‰½‚Å‚©‚ª’m‚肽‚¢‚È‚çO-o-O‚ŃOƒO‚ê‚â

㋉PG‚È‚ß‚ñ‚ÈI
‚¦Avolatile‚É“¯Šúˆ—‚È‚ñ‚Ä‚ ‚é‚ÌH‰Ž¨‚¾‚íB
“¯Šú‚¶‚á‚Ë‚¥‚æ
‚½‚¾‚̃Rƒ“ƒpƒCƒ‰Å“K‰»–hŽ~‚ׂ̈¶‚á
‚»‚µ‚Ä>>553‚Ì‹LŽ–‚ÍÅ“K‰»‚Í–h‚°‚Ä‚àƒvƒƒZƒbƒT‚ÌÅ“K‰»(OoO‚Ì‚Ë)‚Í–h‚°‚È‚¢‚©‚ç”CˆÓ‚ÅThread.MemoryBarrier()‹²‚ñ‚Ńƒ‚ƒŠƒoƒŠƒA‚µ‚ë‚æƒ^ƒR•‹¤‚Â[‚±‚Æ

㋉PG‚È‚ß‚ñ‚È‚æI
‚Â[‚©ƒXƒŒƒbƒhŽg‚¤—\”õ’mŽ¯‚ÌŠî‘b’†‚ÌŠî‘b‚¾‚ëI
>>546
‰´‚à‚¢‚¢Œ¾—t‚ðŒ¾‚í‚ꂽ‚±‚Æ‚ª‚ ‚é‚Ì‚Å“`‚¦‚Ä‚¨‚­‚æB
uƒWƒFƒlƒŠƒNƒX‚ÍM—p‚µ‚Ä‚È‚¢‚©‚ç‹ÖŽ~v
>>561
C++‚Ìvolatile‚Ƭ“¯‚µ‚Ä‚È‚¢HC#‚Ì‚É‚Í‚ ‚é‚æB
‚½‚¾OoO‚ɑ΂µ‚Ä‚Í—LŒø‚¶‚á‚È‚¢‚Ì‚©‚È‚ŸB
‰•@‚¾‚íB
‚ ‚Ì‚ÈAƒXƒŒƒbƒhŠÖŒW‚ÅA‡˜•Ûá‚Ì‹@”\‚Á‚Ä‚Ì‚ÍOoO‚̇˜–â‘è‚Æ‚©‚Ì‰ðŒˆ‚ÉŽg‚¤B
“–‘RAC#‚Ìvolatile‚͇˜‚ð•ÛØ‚·‚邽‚ß‚ÉŽg‚¦‚éB

‚Å‚Í‚È‚ñ‚Å>>553‚Å‚Í‘S•”volatile‚Ȃ̂ɇ˜–â‘肪”­¶‚·‚é‚Ì‚©B
‚‚܂è>>551
>>563
ƒfƒŠƒQ[ƒg‹ÖŽ~‚Á‚Ä‚Ì‚à‚ ‚Á‚½EEE
‚¢‚‚©‚çvolatile‚ªOoO‚̇˜•ÛႪs‚í‚ê‚é‚悤‚É‚È‚Á‚½‚Ì‚â‚ç
‚Ù‚ñ‚ƃŒƒxƒ‹’á‚¢‚È
>>563
ˆãŽÒ‚ªˆµ‚¤–ò‚̘b‚©‚æ
/ufcpp.net/study/csharp/sp_thread.html
volatile‚Á‚ĉ½‚¾‚낤‚ÆŽv‚Á‚Ħ˜r‚Ìl‚̉ðŽßŒ©‚½‚çƒRƒ“ƒpƒCƒ‰‚ÌÅ“K‰»–hŽ~‚Á‚Ä‚©‚¢‚Ä‚ ‚邨

‚ä‚Æ‚èPG‚ð‚È‚ß‚ñ‚È‚¨‚Á‚¨‚Ái OωOj
>>573
Å“K‰»‚Å‚»‚Ì•Ï”‚ª‚È‚©‚Á‚½‚±‚Æ‚É‚³‚ê‚é‚Ì‚ð–h‚®‚¾‚¯
‰½‚Ì‚½‚ß‚ÉH
ƒOƒ[ƒoƒ‹•Ï”“I‚ÉŽg‚¤‚½‚ß‚É—pˆÓ‚µ‚½•Ï”‚ªA“¯ƒtƒ@ƒCƒ‹’†‚ÅŽè‚ð‚­‚í‚¦‚ç‚ê‚Ä‚È‚¢‚©‚çÅ“K‰»‚Å휂³‚ê‚¿‚Ⴄ
‚Æ‚©‚ð–h‚®‚½‚ß‚¶‚á‚È‚©‚Á‚½‚Á‚¯B
ƒRƒ“ƒpƒCƒ‰‚ª•s—v‚¾‚ÆŽv‚Á‚Ä‚àAŽÀ‚Í‘¼‚̃XƒŒƒbƒh‚ª
•K—v‚Æ‚µ‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚©‚çB
volatile‚͇˜•Ûá‚·‚é‚Æ‚©Œ¾‚Á‚Ä‚½“zo‚Ä‚±‚¢‚—
‚ ‚ŸAƒXƒŒƒbƒh‚Å‚ ‚ꂱ‚ê‚·‚é‚Æ‚«‚É“Ç‚Þ‚ñ‚¾‚¯‚ÇA‚¨‚Ü‚¦‚»‚̃XƒŒƒbƒh‚Å‚»‚Ì•Ï”•ÏX‚µ‚Ä‚Ë‚¦‚Ì‚É‚È‚ñ‚Å“Ç‚Þ‚ñ‚¾‚æ
‚»‚ê‚¢‚ç‚Ë‚¦‚¾‚ë‚Á‚ăRƒ“ƒpƒCƒ‰‚ªŒ¾‚Á‚½‚çA‚»‚ê‚͕ʂ̃XƒŒƒbƒh‚ª‘‚«•Ï‚¦‚Ä‚é‚©‚à‚µ‚ê‚È‚¢‚ÌI‚Á‚Ä’ˆÓ‚µ‚Ä‚â‚é‚ñ‚¾‚Á‚½‚©
CŒ¾Œê‚Ìvolatile‚ª‘z’肵‚Ä‚½‚Ì‚ÍSignal‚È‚Ç‚ÌCPUŠ„‚螂݈—‚ÅA
ƒXƒŒƒbƒh‚Ì‚±‚Æ‚Íl‚¦‚Ä‚È‚©‚Á‚½B
‚æ‚­volatile‚ðƒXƒŒƒbƒh‚ÅŽg‚¤‚È‚Æ‚¢‚¤‚Ì‚Í‚±‚Ì‚½‚ßB
C#‚âJava‚̂悤‚È‚Í‚¶‚ß‚©‚çƒXƒŒƒbƒh‚ð‘z’肵‚Ă錾Œê‚ł͈Ӗ¡‚ðŠg’£‚µ‚Ä‚¢‚ÄA
ƒXƒŒƒbƒh‚ɑ΂µ‚ÄŽg‚¦‚é‚悤‚É‚È‚Á‚Ä‚¢‚éB

>>553‚Ì‘¼‚Ì‹LŽ–‚ðŒ©‚½‚ª‘¼‚̂̓Gƒ‰[‚ª‹N‚«‚½‚Æ‚«‚̃_ƒCƒAƒƒO‚⃃bƒZ[ƒW‚ð
ƒCƒ[ƒW‚ŃAƒbƒv‚µ‚Ä‚¢‚邪A‚±‚Ì‹LŽ–‚É‚Í‚È‚¢B
‚¨‚»‚ç‚­ŽèŒ³‚̊‹«‚ŃGƒ‰[‚ª‹N‚«‚È‚­‚Ä”]“à‚Å‘‚¢‚Ä‚é‚ñ‚¶‚á‚È‚¢‚Ì‚©‚ÈB
’N‚©‚±‚̃vƒƒOƒ‰ƒ€‚ÅAssert‚ª‹N‚«‚½l‚¢‚éH
•À—ñ‰»‚ÅŽv‚¢o‚µ‚½‚ªASIMD‘Ήž‚Á‚Ä‚à‚¤‚â‚é‹C–³‚¢‚Ì‚©‚ËH
Ì‚ÍJIT‚Ì—˜“_‚̈ê‚‚Ƃµ‚ÄŒ–“`‚µ‚Ä‚½‚à‚ñ‚¾‚Á‚½‚ª
ŠÂ‹«‚ɉž‚¶‚ăXƒJƒ‰‚ÅXMMƒŒƒWƒXƒ^‚ðŽg‚Á‚Ä‚é‚炵‚¢B
ƒxƒNƒgƒ‹‰»‚ÍMono.Simd‚̂悤‚È‚â‚è•û‚µ‚©‚È‚¢‚Ì‚¾‚낤‚©B
Matrix‚Æ‚©ÜŠp‚ ‚é‚̂ɑΉž‚µ‚Ä‚È‚¢‚Ì‚©‚Ë
‚Â[‚©ƒAƒŒDirectX—R—ˆ‚¾‚Á‚¯H
‚à‚Æ‚à‚ÆMatrix‚ÍJpeg‚âMpeg‚Ì“WŠJ‚Ì‚½‚ß‚É—pˆÓ‚³‚ꂽ‚ñ‚¶‚á‚È‚©‚Á‚½‚Á‚¯H
‚±‚ê‚©‚ç‚̓}ƒ‹ƒ`ƒƒfƒBƒA‚ÌŽž‘ゾ‚Æ‚©Œ¾‚Á‚ÄB
¡‚̓rƒfƒI‚Ì“WŠJ‚ÍGPU‚ÌŽdŽ–‚É‚È‚Á‚¿‚á‚Á‚Ä‚é‚©‚çCPU‚ÌMatrix‚Í‚ ‚ñ‚Ü‚èŽg‚Á‚Ä‚È‚¢‚悤‚ÈB
Matrix‚ÌŽå‚È—p“r‚ÍTransform‚¾‚ÆŽv‚Á‚Ä‚½‰´
>>585
ŒN‚ª³‚µ‚¢
var hoge = new hogehoge()
uVl‚ª‚í‚©‚ñ‚È‚¢‚¾‚ëAˆÓ’nˆ«‚·‚ñ‚È‚æv‚Á‚ÄŒ¾‚í‚ꂽ
Vl‚¢‚¶‚ß‚©‚æ
ŒႾ‚È
volatile‚̓ƒ‚ƒŠ‚Ì“Ç‚Ý‘‚«‚ðÅ“K‰»‚µ‚ÄÁ‚³‚È‚¢‚¾‚¯
‚»‚êˆÈŠO‚Í“Á‚ɉ½‚à•ÛØ‚µ‚È‚¢
>>578
‚±‚±‚Í‚Å‚½‚ç‚ߌ¾‚¤‚¾‚炯‚¾‚ÈB

ttp://msdn.microsoft.com/ja-jp/library/aa645755.aspx
ttp://msdn.microsoft.com/ja-jp/library/aa691105.aspx
ttp://www.microsoft.com/japan/msdn/msdnmag/issues/05/10/MemoryModels/default.aspx#S3

>>574
ttp://www.microsoft.com/japan/msdn/msdnmag/issues/05/10/MemoryModels/default.aspx#S5
‚±‚̕ӓǂ݂ᕪ‚©‚邪A‚æ‚­Œë‰ð‚³‚ê‚Ä‚é‚悤‚É“Ç‚Ýž‚Ý‚»‚Ì‚à‚Ì‚ªíœ‚³‚ê‚é‚悤‚È‚±‚Æ‚Í•’Ê‚Í‚È‚¢B
‚º‚ñ‚º‚ñ‘O‚Ì‘‚«ž‚Ý‚ð“Ç‚Ü‚È‚¢“z‚¾‚ÈB‚»‚ê‚ÍC‚̘b‚¾B
>>589
‚»‚ë‚»‚ë’É‚¢‚©‚猾ŒêŽd—l‚Å‚à“Ç‚ñ‚Å‚Ý‚ÈB
>>590‚Ìʼn‚̃Šƒ“ƒN‚¾‚¯‚Å‚à\•ª‚¾B

>>580
>>553‚̃\[ƒX‚Å‚µ‚Á‚©‚èAsser‹N‚±‚éB
ˆêu‚È‚ñ‚ÅH‚Á‚ÄŽv‚Á‚½‚ªA‚Ü‚ ‚æ‚­l‚¦‚Ä‚Ý‚ê‚Ίm‚©‚É‹N‚±‚Á‚Ä‚à‚¨‚©‚µ‚­‚Í‚È‚¢‚Ì‚©‚Èc‚Á‚ÄŠ´‚¶B
‚È‚ñ‚©‚²‚Á‚¿‚á‚É‚È‚Á‚Ä‚¢‚é“z‚ª‚¢‚é‚悤‚¾‚¯‚ÇAvolatile•ÛØ‚·‚邪“Ç‚Ý‘‚«‚̇˜‚ÆA
•¡”‚̃XƒŒƒbƒh‚ª•Ï”‚ɃAƒNƒZƒX‚·‚釘‚Í•Ê‚Ì–â‘肾‚©‚çB
>>593
–¢‚¾‚É>>553‚̈Ӗ¡‚í‚©‚Á‚Ä‚È‚¢‚¾‚ëB
‚¢‚âA”÷–­‚¾‚ÈA‚í‚©‚Á‚Ä‚¢‚Á‚Ä‚¢‚é‚悤‚É‚à“Ç‚ß‚éB
C#‚̘b‚¾‚Á‚½‚Ì‚©
ƒXƒŒƒ^ƒC“Ç‚ñ‚Å‚È‚©‚Á‚½‚Ì‚©
>>590
‰“‚܂킵‚Èà–¾‚Å‚æ‚­‰ð‚ç‚ñ‚ÈB

ƒƒ‚ƒŠƒoƒŠƒA‚Ì‹@”\‚ðŠÜ‚ñ‚Å‚¢‚é‚Ç‚¤‚©‚¾‚¯‘‚¯‚΂Ps‚Å‚·‚Þ‚Ì‚ÉB
‚Æ‚¢‚¤‚©A>>553‚Ì—á‚̓Rƒ“ƒpƒCƒ‰‚ª–³ˆÓ–¡‚ÉŒ©‚¦‚é–½—ß‚ð휂µ‚Ä‚¢‚邾‚¯‚¶‚á‚È‚¢‚Ì‚©H
‚Í‚¢H
volatile‚ÍÅ“K‰»‚ð‚È‚­‚µíœ‚µ‚È‚­‚È‚é‚ñ‚¶‚á‚È‚©‚Á‚½‚Ì‚©‚æ‚—
‚±‚ñ‚È•—‚É•ª‚©‚Á‚Ä‚é‚‚à‚è‚Ì‚â‚‚ª‚Å‚½‚ç‚ß‚È‚±‚Ƃ΂Á‚©‚茾‚¤‚©‚çA
Šë‚È‚­‚ÄŽg‚¦‚È‚¢‚ñ‚¾‚æB
>>598
„ƒƒ‚ƒŠƒoƒŠƒA‚Ì‹@”\‚ðŠÜ‚ñ‚Å‚¢‚é‚Ç‚¤‚©‚¾‚¯‘‚¯‚΂Ps‚Å‚·‚Þ‚Ì‚ÉB

ƒƒ‚ƒŠƒoƒŠƒA‚Ì‹@”\‚ðŠÜ‚ñ‚Å‚é‚È‚ç‚È‚ñ‚Å>>553‚ÍAssert‹N‚±‚Á‚ÄA
–¾Ž¦“I‚Ƀƒ‚ƒŠƒoƒŠƒA–½—ß“ü‚ꂽ‚ç‹N‚±‚ç‚È‚­‚È‚é‚ÌH

‚Á‚ÄŽv‚¤‚í‚È•’ÊB
ƒƒ‚ƒŠƒoƒŠƒA‚Á‚ÄŒ¾‚Á‚Ä‚àˆêŒ¾‚ÅŒ¾‚¦‚é‚Ù‚Ç’Pƒ‚Șb‚¶‚á‚È‚¢B
volatile ‚ÍŠm‚©‚ÉÅ“K‰»‚ð—}Ž~‚·‚é‚ñ‚¾‚ªA‚»‚ê‚͈ê‚‚̃XƒŒƒbƒh“à‚Å•Ï”‚ÌŽQƇ‚ð
•ÏX‚·‚é‚悤‚È‚à‚Ì‚ÉŒÀ‚ç‚ê‚é‚ñ‚¾‚æB
10.4.3 Volatile ƒtƒB[ƒ‹ƒh
‘¼‚̃XƒŒƒbƒh‚É‚æ‚é volatile ‘‚«ž‚Ý‚ÍA‚»‚ê‚炪ŽÀs‚³‚ꂽ‡‚É‚·‚ׂẴXƒŒƒbƒh‚Ås‚í‚ê‚Ü‚·B
Žï–¡‚Å‚µ‚©ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ð‚µ‚È‚¢‰´‚ɂ̓TƒbƒpƒŠ‚¾B
‚Ü‚ A‚»‚±‚ÌŒ´•¶‚Ì
These restrictions ensure that all threads will observe volatile writes performed by any other thread in the order in which they were performed.
A conforming implementation is not required to provide a single total ordering of volatile writes as seen from all threads of execution.
2s–Ú‚Ì‘S‡˜‚Í—v‹‚³‚ê‚È‚¢‚Á‚Ä‚Ì‚ªŒ‹‹Ç>>533‚Ì——R‚È‚Ì‚©‚ÈB
>>553‚¾‚Á‚½orz
„‘S‡˜‚Í—v‹‚³‚ê‚È‚¢
u’Pˆêv‚Ì‘S‡˜‚Í—v‹‚³‚ê‚È‚¢
‚ªd—v‚©B
“Á’è‚̃XƒŒƒbƒh‚ð“Á’è‚ÌCPUƒRƒA‚Å“®‚©‚·‚Ì‚Á‚Ä‚Ç‚¤‚â‚é‚ñ‚¾‚Á‚¯H
‚»‚ñ‚È‚±‚Æl‚¦‚Ä‚é‘O‚Élock‚µ‚¿‚Ⴄ‚È‚ŸB
var obj = new Object();
‚Æ‚µ‚Æ‚¢‚Ä
lock (obj) { s_x = 1; s_ya = s_y; }
‚Æ
lock (obj) { s_y = 1; s_xa = s_x; }
‚ÅA‰´“I‚É‚Í–œŽ–‰ðŒˆB
FX[‰“‚È–â‘è‚à‚ ‚邾‚낤‚¯‚ÇA‚»‚ñ‚È‚±‚Æ’m‚Á‚½‚±‚Á‚¿‚á‚Ë[ô
‚Ü‚ ‚»‚à‚»‚à‚±‚ñ‚Ȉ—‚Í•’Ê‚Ío‚Ä‚±‚È‚¢‚©‚ç‚È[B
‚±‚ê‚Í‚ ‚­‚Ü‚Å—\‘z‚ƈقȂ錋‰Ê‚ɂȂ邱‚Æ‚ª‚ ‚é‚Ì‚ðŽ¦‚µ‚Ä‚¢‚邾‚¯‚ÅB

‚½‚¾A‚±‚¤‚¢‚¤ƒR[ƒh‚ðA–³ˆÓŽ¯‚Ì‚¤‚¿‚ÉA“®ì‚𖳈ӎ¯‚ÉŠú‘Ò‚µ‚Ä‘‚¢‚Ä‚µ‚Ü‚¤‰Â”\«‚Í‚ ‚é‚©‚à‚µ‚ê‚È‚¢B
‚Ü‚ •’ʂ̓}ƒ‹ƒ`ƒXƒŒƒbƒh‚ʼn½‚©‚𑂭ꇂÍí‚É“¯Šú‚̃^ƒCƒ~ƒ“ƒO‚Íl—¶‚µ‚È‚ª‚ç‘‚­‚©‚çA
‘½•ª‚ß‚Á‚½‚È‚±‚Æ‚Í‚È‚¢‚Æ‚ÍŽv‚¤‚¯‚Ç‚ËB
‚Å‚à‚¢‚é‚ñ‚¾‚æB
Šù‘¶‚̈—‚ð‚È‚ñ‚É‚àl‚¦‚¸‚Ƀ}ƒ‹ƒ`ƒXƒŒƒbƒh‚É‚µ‚¿‚Ⴄ‚Ì‚ªEEE
>>604
ŽQƇ‚Í•ÏX‚³‚ê‚é‚ñ‚¶‚á‚È‚¢‚ÌH
volatile“Ç‚Ýž‚Ý‚Í‘¼‚Ì“Ç‚Ýž‚Ý‚æ‚è‚à‘‚­s‚í‚ê‚é‚ñ‚Å‚µ‚åH
>>614
‚Ü‚ ‚ËBorz
>>614
•ÏX‚³‚ê‚È‚¢‚æB

„volatile“Ç‚Ýž‚Ý‚Í‘¼‚Ì“Ç‚Ýž‚Ý‚æ‚è‚à‘‚­s‚í‚ê‚é‚ñ‚Å‚µ‚åH
‚»‚¤‚¶‚á‚È‚¢B
volatile“Ç‚ÝŽæ‚è‚æ‚è‚àŒã‚ë‚É‚ ‚é“Ç‚ÝŽæ‚肪A
volatile“Ç‚ÝŽæ‚è‚æ‚è‚à‘O‚Ɉړ®‚³‚ê‚é‚悤‚ÈÅ“K‰»‚Ís‚í‚ê‚È‚¢
‚Á‚Ä‚±‚ÆB
>>616
‚ ‚Ÿ[A‚»‚¤“Ç‚Þ‚Ì‚©‚ŸB
‚à‚Á‚Ƹi‚µ‚Ü‚·B
‚»‚à‚»‚àvolatile‚̇˜•Ûá‚ð‚Ç‚¤‚¢‚¤•—‚ÉŽg‚¤‚©‚Æ‚¢‚¤‚ÆA
—Ⴆ‚Î
int data1;
int data2;
volatile bool completed;
‚Ý‚½‚¢‚È•Ï”’è‹`‚ðs‚Á‚ÄA
ƒXƒŒƒbƒhA‚ÅA
data1 = 1
data2 = 2
completed = true;
‚Ý‚½‚¢‚È‚±‚Æ‚ð‚µ‚ÄA
ƒXƒŒƒbƒhB‚ÅA
if (completed)
{
//data1‚Ædata2‚ð“Ç‚ÝŽæ‚è
}

‚Ý‚½‚¢‚É‚µ‚½‚Æ‚«Adata1‚Ædata2‚Ì“Ç‚ÝŽæ‚è‚ÅA
ŠmŽÀ‚ɃXƒŒƒbƒhA‚ÅXV‚³‚ꂽŒ‹‰Ê‚ɃAƒNƒZƒX‚Å‚«‚éB
‚±‚ê‚ÍA
volatile‘‚«ž‚Ý‚æ‚è‘O‚Ì‘‚«ž‚Ý‚Í•K‚¸volatile‘‚«ž‚Ý‚æ‚è‘O‚És‚í‚êA
volatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚Ì“Ç‚ÝŽæ‚è‚ÍA•K‚¸volatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚És‚í‚ê‚邱‚Æ‚ª•ÛØ‚³‚ê‚Ä‚é‚©‚çB
‚à‚µ‚±‚Ì•ÛØ‚ª‚È‚¢‚ÆAƒXƒŒƒbƒhB‚Å‚Ì“Ç‚ÝŽæ‚è‚ÅA
data1‚Ædata2‚ªAƒXƒŒƒbƒhA‚ª‘‚«ž‚ñ‚¾Œ‹‰Ê‚Å‚ ‚邱‚Æ‚ð•ÛØ‚Å‚«‚È‚¢B
>>618
> volatile‘‚«ž‚Ý‚æ‚è‘O‚Ì‘‚«ž‚Ý‚Í•K‚¸volatile‘‚«ž‚Ý‚æ‚è‘O‚És‚í‚êA
> volatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚Ì“Ç‚ÝŽæ‚è‚ÍA•K‚¸volatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚És‚í‚ê‚é
ƒŠƒ“ƒNæ‚É‚àŠm‚©‚É‚©‚¢‚Ä‚ ‚邯‚ê‚ÇA‚±‚ê‚É“–‚Ä‚Í‚Ü‚ç‚È‚¢‚à‚Ì‚Í‚·‚ׂĕÛႳ‚ê‚Ä‚¢‚È‚¢‚Æl‚¦‚é‚ׂ«‚È‚Ì‚©‚ÈB

volatile‘‚«ž‚Ý‚æ‚èŒã‚ë‚Ì‘‚«ž‚Ý‚ªAvolatile‘‚«ž‚Ý‚æ‚è‘O‚És‚í‚ê‚é‰Â”\«‚Æ‚©‚»‚¤‚¢‚¤‚ÌB
C#‚ÌŒ¾ŒêŽd—l‚Å‚Í•ÛØ‚³‚ê‚Ä‚È‚¢‚Í‚¸B
ECMA‚ÌCLI‚̃ƒ‚ƒŠƒ‚ƒfƒ‹‚Å‚àA
E“Ç‚ÝŽæ‚è‚Æ‘‚«ž‚Ý‚ÍAvolatile ‚Ì“Ç‚ÝŽæ‚è‘O‚Ɉړ®‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢B
E“Ç‚ÝŽæ‚è‚Æ‘‚«ž‚Ý‚ÍAvolatile ‚Ì‘‚«ž‚ÝŒã‚Ɉړ®‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢B
‚Æ‚¢‚¤ƒ‹[ƒ‹‚µ‚©‚È‚¢‚Ì‚Å•ÛØ‚³‚ê‚È‚¢B
‚½‚¾‚µACLR2.0‚̃ƒ‚ƒŠƒ‚ƒfƒ‹‚Å‚Í‚à‚¤­‚µ•ÛØ‚ª‹­‚¢B
Ú‚µ‚­‚Í
ttp://www.microsoft.com/japan/msdn/msdnmag/issues/05/10/MemoryModels/default.aspx#S3
‚È‚ñ‚¾‚¯‚ÇA•ª‚©‚è‚É‚­‚¢‚È‚—

­‚È‚­‚Æ‚à‘‚«ž‚݇˜‚Í•ÏX‚³‚ê‚È‚¢‚Í‚¸B
‚È‚º‚È‚çACLR2.0‚Å‚ÍŽÀŽ¿‘‚«ž‚Ý‚Í‘S‚Äu‰ð•úŒ`Ž®v‚É‚È‚Á‚Ä‚¢‚é‚炵‚¢‚Ì‚ÅB
‚¨‚Á‚ÆA‚»‚±‚̃Šƒ“ƒN‚Ì
‚SD‘‚«ž‚Ý‚ÍA“¯ˆêƒXƒŒƒbƒh‚©‚ç‚Ì•Ê‚Ì‘‚«ž‚Ý‚ð’´‚¦‚Ĉړ®‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢B
‚ª‚ ‚é‚Ì‚ÅA‘‚«ž‚݇˜‚Í‚½‚Æ‚¦volatile‚Å‚È‚­‚Æ‚àA•ÏX‚³‚ê‚邱‚Æ‚Í‚È‚¢‚ÈB
‡˜‚ª‚Ç‚¤‚Æ‚©A‚È‚ñ‚Å‚»‚¤‚¢‚¤˜b‚É‚È‚é‚Ì‚©ˆÓ–¡‚ª‚í‚©‚ç‚ñ‚æB
volatile‚̈Ӗ¡‚Í•¶Žš’Ê‚è‚»‚Ì•Ï”‚ð”ñ“¯Šú“I‚É•ÏX‚³‚ꂤ‚é‚à‚Ì‚Æ‚µ‚Ä
ˆµ‚¤‚Æ‚¢‚¤ˆÓ–¡ˆÈã‚Å‚àˆÈ‰º‚Å‚à‚È‚¢‚Í‚¸‚¾‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç....
>>623
‰´‚à‚»‚ꂾ‚¯‚̈Ӗ¡‚¾‚ÆŽv‚Á‚Ä‚¢‚½‚ñ‚¾‚¯‚ÇAC#‚ł͈Ⴄ‚Æ‚¢‚¤‚±‚Æ‚ð’p‚¸‚©‚µ‚È‚ª‚ç¡“ú’m‚è‚Ü‚µ‚½B
‚È‚ñ‚¾‚æAŒ‹‹Ç‚Ü‚½‚í‚©‚Á‚Ä‚È‚¢ƒ„ƒc‚ª–\‚ê‚Ä‚½‚¾‚¯‚©‚æ‚—
‰´‚Í–\‚ê‚Ä‚Í‚¢‚È‚¢‚‚à‚è‚È‚Ì‚ÅA‘¼‚É‚à•ª‚©‚Á‚Ä‚È‚¢l‚ª‚¢‚½‚Ì‚Å‚µ‚傤B
>>626
‚¨‘O‚¾‚ë
‰´‚̂悤‚ȃwƒ{ƒvƒƒOƒ‰ƒ}‚É‚Æ‚Á‚Ä‚ÌŒ‹˜_‚ÍA
ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Å‚Ívolatile‚É—Š‚é‚È‚Æ‚¢‚¤‚±‚Æ‚¾‚ÈB
‚»‚ñ‚ÈA‚‘¬‚¾‚¯‚Ç•ª‚©‚Á‚Ä‚é“z‚Å‚à‚Æ‚Á‚¿‚ç‚©‚Á‚ĊԈႢ‚©‚Ë‚È‚¢ŽdŠ|‚¯‚Å‘‚­‚æ‚èA
’x‚­‚Ä‚à”r‘¼ˆ—‚ŃKƒ`ƒKƒ`“DL‚­‘‚¢‚½‚Ù‚¤‚ªƒƒ“ƒeƒiƒ“ƒX‚Æ‚©l‚¦‚é‚ÆŒ»ŽÀ“I‚¶‚á‚ËH
–Y‚ꂽ ‚ÉŒ©’¼‚·“x‚ɈêX“ª‚Ì’†‚ÅÄŒŸØ‚·‚ñ‚Ì‚©‚æA‚Á‚ĘbB
‚¾‚ËBƒƒ‚ƒŠƒoƒŠƒAƒƒ\ƒbƒh‚à—p‚ª‚È‚³‚»‚¤‚¾‚µA“––ÊlockƒXƒe[ƒgƒƒ“ƒg‚Å‚¢‚¢‚â‚Á‚ÄŽv‚Á‚½B
‚¿‚á‚ñ‚Æ—‰ð‚Å‚«‚½‚糂µ‚­‘¬‚­“®ì‚·‚郉ƒCƒuƒ‰ƒŠ‚ð‘‚«‚½‚¢‚à‚Ì‚Å‚·B
>>627
‚È‚ñ‚¾A–\‚ꂽ‚Ì‚ª‚¢‚Ü‚³‚ç’p‚¸‚©‚µ‚­‚È‚Á‚½‚©H
>>623
‚±‚¢‚‚ª‚Ç‚±‚Ü‚Å‚àƒoƒJ‚È‚¾‚¯B
>>630
Šî–{“I‚ɂͳ‚µ‚¢”»’f‚¾‚ÆŽv‚¤‚æB
lock‚¾‚Á‚Ä•Ê‚É‚»‚ñ‚È‚Éd‚¢‚킯‚¶‚á‚È‚¢i󋵂ɂæ‚邪jB
>>623
Œ¾ŒêŽd—l‚©‚çMSDNƒ}ƒKƒWƒ“‚ÌÚׂȋLŽ–‚©‚ç
‰½‚©‚牽‚܂ʼn½“x‚àŽ¦‚³‚ê‚Ä‚é‚̂ɈӖ¡‚ª•ª‚©‚ç‚È‚¢‚È‚ç
‚¨‘O‚Í–{“–‚É“ª‚ªˆ«‚¢‚ñ‚¾‚낤B
>>553‚Ì‚Á‚Ä
s_x = 1;
s_ya = s_y;
‚Ì•”•ª‚ɂ‚¢‚ÄAs_y‚Ì“Ç‚ÝŽæ‚肪æ‚És‚í‚ê‚ÄA
s_x‚Ì‘‚«ž‚ÝAs_ya‚Ì‘‚«ž‚Ý‚ªs‚í‚ꂽ‚Á‚Ä‚±‚Æ‚É‚È‚é‚ÌH
‚Ç‚¤‚È‚ÌH
>>629
“S”‚łµ‚傤B
C#‚ÌŒ¾ŒêŽd—l‚̃_ƒEƒ“ƒ[ƒhURI‹³‚¦‚Ä‚­‚¾‚³‚¢B
VS2010‚̃tƒHƒ‹ƒ_“à‚É‚ ‚è‚Ü‚µ‚½orz
object[] a = string[]{"a"};
string[] b = a as string[];

‚±‚̈—‚̓ˆ‚Éa‚Ö‚Ì‘ã“ü‚Æb‚ւ̃LƒƒƒXƒg‚ªs‚í‚ê‚Ä‚¢‚邾‚¯‚ÅA
List<object>‚ÆList<string>‚ðŒ^•ÏŠ·‚·‚é‚Æ‚«‚̂悤‚ȃCƒ“ƒXƒ^ƒ“ƒX
‚ÌV‹K쬂͂³‚ê‚È‚¢‚Æl‚¦‚Ä‚æ‚¢‚Ì‚Å‚µ‚傤‚©H
‚¿‚å‚Á‚Æ‚µ‚½‹^–â

class A {
object lockobj = new object;

string _a;
public a {
get {
lock(lockobj){
return _a;
}
}
set {
lock(lockobj){
_a = value;
}
}
}

‚±‚ê‚Á‚ÄA‚¿‚á‚ñ‚ƃƒbƒNŠ|‚©‚é‚ñ‚¾‚낤‚©H
642 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/18(‹à) 13:54:34
‚Ä
>>641
‚Í‚¢
>>641
‚¢‚¢‚¦AƒRƒ“ƒpƒCƒ‹‚·‚ç‚Å‚«‚Ü‚¹‚ñ
>>635‚Á‚Ä‚Ç‚¤‚È‚ÌH
‚È‚ñ‚Å“ª‚¢‚¢l‚½‚¿‚Ý‚ñ‚ȃXƒ‹[‚È‚Ì
OoO‚ɂ‚¢‚Äggrks
>>644
Œ^‚ª‚È‚¢‚©‚ç‚Á‚Ä‚©H
Ž¿–â‚̈Ó}‚Í‚»‚¤‚¶‚á‚È‚¢‚¾‚ëEEE
>>641
Ž¿–â‚̃|ƒCƒ“ƒg‚ÍLock‚̃XƒR[ƒv‚©‚ç‚Ìreturn‚¾‚ëH
ƒƒbƒN‚ÍreturnƒXƒe[ƒgƒƒ“ƒg‚ÌŽÀs’¼Œã‚É‚Í‚¸‚ê‚é‚©‚ç•’Ê‚ÉŽg‚¦‚éB
>>635
>>553‚ÌŒ­‚µ”»‚Á‚½‹C‚ª‚·‚éB
ŠÂ‹«ˆË‘¶‚ª‚ ‚é‚悤‚¾‚©‚炱‚±‚É‚¢‚él‚½‚¿‚àŠm”F‚µ‚Ä‚à‚炦‚é‚Æ•‚©‚éB

Releaseƒ‚[ƒh‚Å‚àŠm”F‚Å‚«‚é‚悤‚ÉC³BƒRƒ“ƒ\[ƒ‹‚Éo—Í‚³‚¹‚é‚悤‚É‚·‚éB
„Debug.Assert(s_xa == 1 || s_ya == 1);
if (!(s_xa == 1 || s_ya == 1)) Console.WriteLine("* {0}, {1}", s_xa, s_ya); 

‚±‚¿‚ç‚̊‹«‚ÅŠm”F‚Å‚«‚½‚±‚ÆB
ƒ}ƒ‹ƒ`CPUAƒ}ƒ‹ƒ`ƒRƒAAƒnƒCƒp[ƒXƒŒƒbƒfƒBƒ“ƒO‚Å‚à‹N‚«‚éB
ƒVƒ“ƒOƒ‹CPUŠÂ‹«‚Å‚Í‹N‚«‚È‚¢B
Relaseƒrƒ‹ƒhADebugƒrƒ‹ƒh‚Í‚Ç‚¿‚ç‚Å‚à—Ç‚¢B
DebugŽÀsŽž‚É‹N‚«‚éBDebug‚È‚µ‚ÅŽÀs‚Å‚Í‹N‚«‚È‚¢B

Œ‹˜_
—\‘z‚ª“–‚½‚Á‚Ä‚ê‚ÎOoO‚Æ‚©‚®‚È–â‘è‚Å‚È‚­AIDE‚̃fƒoƒbƒK‚̃oƒO‚̉”\«‚ª‚ ‚éB
>>646
‚·‚Á‚±‚ñ‚Å‚ë
>>649
‰´‚̊‹«‚Å‚ÍAƒfƒoƒbƒO‚È‚µŽÀs‚Å‚à‹N‚±‚Á‚Ä‚éB
>>641
‚¿‚á‚ñ‚ƃƒbƒN‚©‚©‚é‚Á‚Ä‚Ì‚Í‚Ç‚¤‚¢‚¤ˆÓ–¡‚ÅŒ¾‚Á‚Ä‚éH
ƒƒbƒNŽ©‘Ì‚Í‚à‚¿‚ë‚ñŠú‘Ò’Ê‚è•’Ê‚É‚©‚©‚邪A
objA.A =
objA.A + "hoge";
‚È‚ñ‚Ä‚Ì‚ðƒAƒgƒ~ƒbƒN‚ÉŽÀs‚·‚邱‚Æ‚Í“–‘R‚È‚ª‚ç‚Å‚«‚È‚¢B
‰üs“ü‚Á‚½c
objA.A = objA.A + "hoge";
‚ÈB
>>618
‚È‚ñ‚©ˆá‚í‚È‚¢‚©H
‚»‚̗Ⴞ‚ÆAƒXƒŒƒbƒhB‚Ådata1,data2‚ªu³‚µ‚­v“Ç‚ß‚é•Û؂͉½‚à‚È‚¢‚Ì‚Å‚ÍH

‚Å‚È‚«‚áA‚»‚à‚»‚àvolatile‚Á‚ĉ½‚¾‚Á‚Ęb‚É‚È‚éB
>>654
„‚Å‚È‚«‚áA‚»‚à‚»‚àvolatile‚Á‚ĉ½‚¾‚Á‚Ęb‚É‚È‚éB
‚Ç‚¤‚¢‚¤ˆÓ–¡HH
‰½Œ¾‚Á‚Ä‚é‚Ì‚©‚í‚©‚ç‚È‚¢B

‚»‚è‚á‚Ü‚ >>618‚É‚ÍŽÀÛ‚É‚Í‚¢‚ë‚¢‚ë‘O’ñ‚ª‚ ‚é‚Ì‚ÍŠm‚©‚¾‚ªA
•¶–¬‚ÅŒ¾‚¢‚½‚¢Ž–•¿‚̈Ó}‚Í’Ê‚¶‚é‚ÆŽv‚¤‚ªB

>>654‚ÌŽw“E‚ª‰½‚ðŒ¾‚¨‚¤‚Æ‚µ‚Ä‚é‚Ì‚©‚í‚©‚ç‚È‚¢‚Ì‚ÅA‚»‚¤‚¾‚ÈA
„‚»‚̗Ⴞ‚ÆAƒXƒŒƒbƒhB‚Ådata1,data2‚ªu³‚µ‚­v“Ç‚ß‚é•Û؂͉½‚à‚È‚¢‚Ì‚Å‚ÍH
‚È‚º•ÛØ‚ª‚È‚¢‚Ì‚©‚ð‹ï‘Ì“I‚É‘‚¯‚΂»‚¿‚ç‚̈Ó}‚Í‚í‚©‚é‚©‚à‚µ‚ê‚ñB
–³ˆÓ–¡‚ÈŽÀ‘•ŒŸØ‚µ‚Ä‚à‚µ‚傤‚ª‚È‚¢‚悤‚È
>>656
‚»‚à‚»‚à‚»‚Ì•ÛØ‚ª‚È‚¢iƒRƒ“ƒpƒCƒ‰‚ÌÅ“K‰»‚É‚æ‚Á‚Ä•Ï”‚»‚Ì‚à‚Ì‚É‚Í
ƒAƒNƒZƒX‚µ‚È‚¢‰Â”\«‚ª‚ ‚éj‚©‚çA‚»‚¤‚¢‚¤‰Â”\«‚ð”rœ‚·‚邽‚ß‚Ìvolatile‚Ì
‚Í‚¸‚È‚ñ‚¾‚¯‚Ç....

‚Ç‚¤‚à‚±‚̃XƒŒA•ª‚©‚Á‚Ä‚é‚Ì‚©•ª‚©‚Á‚Ä‚È‚¢‚Ì‚©‚æ‚­•ª‚©‚ç‚ñl‚ª‘½‚¢‚æ‚È
volatile‚ÌŽg‚¢•ûH‚ðŠ¨ˆá‚¢‚µ‚Ä‚é
‚Ђå‚Á‚Æ‚µ‚Ä>>590‚̌㔼‚É‘‚¢‚Ä‚é‚悤‚ÈA‚æ‚­‚ ‚éŒë‰ð‚ð‚µ‚Ä‚éƒNƒ`‚©‚ÈH
‚æ‚­‚ ‚éŒë‰ðA‚Ë‚¦....
>>658
‚»‚ꂪ‚æ‚­‚ ‚éŒë‰ðB‚»‚ñ‚È‚±‚Æ‚Í‹N‚±‚ç‚È‚¢B
‰½“x‚à‰½“x‚à‰½“x‚ào‚µ‚Ă邯‚Ç
ttp://www.microsoft.com/japan/msdn/msdnmag/issues/05/10/MemoryModels/default.aspx
‚Å‚à“Ç‚ñ‚Å‚ÝB
¦¡‚ÍC#‚Ìvolatile‚̘b‚¾‚º
volatile‚̈Ӗ¡‚ðŒë“Ç‚µ‚Ä‚é‚Æ‚©
>>658
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚̈Ӗ¡‚ð‘S‚­—‰ð‚µ‚Ä‚È‚¢‚ÈB

‚¾‚Á‚½‚çA—Ⴆ‚Î‚à‚µlock‚Å”r‘¼§Œä‚µ‚Ä‚½ê‡‚ÉA
‘¼ƒXƒŒƒbƒh‚ÅXV‚µ‚½•Ï”‚ðlock“à‚Å‚«‚¿‚ñ‚Æ“Ç‚ß‚é‚Ì‚Í‚È‚º‚©l‚¦‚Ä‚Ý‚ÈB
Å“K‰»‚Å휂³‚ê‚é‚È‚ç‚»‚ê‚·‚ç•ÛØ‚³‚ê‚È‚­‚È‚éB

lock“à‚Å‚Í휂µ‚½‚çƒ_ƒ‚Á‚ăRƒ“ƒpƒCƒ‰‚É‚Í‚í‚©‚Á‚Ă邾‚ë‚Æ‚©l‚¦‚È‚µ‚È‚±‚ÆŒ¾‚¤‚È‚æB
lock“à‚©‚çŒÄ‚Ño‚³‚ê‚镒ʂ̃ƒ\ƒbƒh‚¾‚Á‚Ä‚ ‚é‚ñ‚¾‚©‚ç‚ÈB
ƒRƒ“ƒpƒCƒ‹Žž‚É‚»‚±‚ªlock“à‚©‚Ç‚¤‚©‚È‚ñ‚Ä”»’f‚Í–³ˆÓ–¡‚È‚±‚ÆB
>>662
‚¾‚©‚çvolatile‚̘b‚¶‚á‚È‚¢‚µB
‚»‚ÌŽQÆæ‚Ì‚Ç‚±‚É‚àuC#‚ł̓LƒƒƒbƒVƒ…‚ð“Ç‚ÞÅ“K‰»‚Ís‚í‚ê‚È‚¢v
‚Æ‚Í‘‚¢‚Ä‚È‚¢‚悤‚ÉŽv‚¤‚ªB
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚̃‹[ƒ‹‚ð‚æ‚­“Ç‚ßB
------
“Ç‚ÝŽæ‚肪A“¯ˆêƒXƒŒƒbƒh‚©‚瓯ˆêƒƒP[ƒVƒ‡ƒ“‚ɑ΂·‚é•Ê‚Ì“Ç‚ÝŽæ‚è‚É—×Ú‚µ‚Ä‚¢‚éê‡A‚»‚Ì“Ç‚ÝŽæ‚è‚Í휂̂݉”\B
‘‚«ž‚Ý‚ªA“¯ˆêƒXƒŒƒbƒh‚©‚瓯ˆêƒƒP[ƒVƒ‡ƒ“‚ɑ΂·‚é•Ê‚Ì‘‚«ž‚Ý‚É—×Ú‚µ‚Ä‚¢‚éê‡A‚»‚Ì‘‚«ž‚Ý‚Í휂̂݉”\B
‹K‘¥ 5 ‚É‚æ‚èA•¡”‚Ì“Ç‚ÝŽæ‚è‚Ü‚½‚Í‘‚«ž‚Ý‚ð—×Ú‚³‚¹‚Ä‚©‚çA–{‹K‘¥‚ð“K—p‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B
------
„‚»‚ÌŽQÆæ‚Ì‚Ç‚±‚É‚àuC#‚ł̓LƒƒƒbƒVƒ…‚ð“Ç‚ÞÅ“K‰»‚Ís‚í‚ê‚È‚¢v
„‚Æ‚Í‘‚¢‚Ä‚È‚¢‚悤‚ÉŽv‚¤‚ªB

‚ ‚Ì‚ÈAvolatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚Ì“Ç‚ÝŽæ‚è‚Í•K‚¸volatile“Ç‚ÝŽæ‚è‚æ‚èŒã‚ÅŽÀs‚³‚ê‚é‚Á‚Ä‚Ì‚ÍA
CPU‚̃LƒƒƒbƒVƒ…§Œä‚ðŠÜ‚ñ‚¾˜b‚¾‚æB
>>618
‚Å‚Ívolatile“Ç‚ÝŽæ‚è‚ÌŒã‚É•Ï”‚ɃAƒNƒZƒX‚µ‚Ă邾‚낤‚ªB
‚¾‚©‚ç•K‚¸ƒLƒƒƒbƒVƒ…‚Å‚Í‚È‚­i•ÊƒXƒŒƒbƒh‚ÅXV‚³‚ꂽjÅV‚Ì’l‚ª“Ç‚ÝŽæ‚ç‚ê‚éB
‚Á‚Ä‚¢‚¤‚©‚»‚Ì‚½‚ß‚Ìvolatile‚¾‚Á‚ĘbB
‚Ç‚ê‚Æ‚à
„‚»‚ÌŽQÆæ‚Ì‚Ç‚±‚É‚àuC#‚ł̓LƒƒƒbƒVƒ…‚ð“Ç‚ÞÅ“K‰»‚Ís‚í‚ê‚È‚¢v
„‚Æ‚Í‘‚¢‚Ä‚È‚¢‚悤‚ÉŽv‚¤‚ªB
‚±‚ê‚ÍCPUƒLƒƒƒbƒVƒ…‚¶‚á‚È‚­‚ÄAƒŒƒWƒXƒ^‚ɃLƒƒƒbƒVƒ…‚·‚é‚Æ‚©A‚»‚¤‚¢‚¤ˆÓ–¡‚Å‘‚¢‚Ä‚é‚Ì‚©H
‚»‚ê‚È‚çA‚»‚ꂱ‚»>>666‚̘b‚¾B
—×Ú‚·‚铯ˆêƒƒP[ƒVƒ‡ƒ“‚©‚ç‚Ì“Ç‚ÝŽæ‚èˆÈŠO‚ÅA“Ç‚ÝŽæ‚肪œK‰»‚É‚æ‚Á‚Ä휂³‚ê‚邱‚Æ‚Í‚È‚¢B
>>666
uƒP[ƒXA‚Ìê‡Aread‚Ì‚Ý‚ªíœ‰Â”\v‚Æ‚¢‚¤•¶Í‚ÍA
uread‚ªíœ‚³‚ê‚é‚̂̓P[ƒXA‚Ìꇂ݂̂ł ‚év‚Æ‚¢‚¤ˆÓ–¡‚Å‚Í‚È‚¢B
‘åä•vH

>>667
‚Ç‚¤“Ç‚ñ‚Å‚àŒN‚ªŽv‚Á‚Ä‚é‚悤‚ȈӖ¡‚ɂ͉ðŽß‚Å‚«‚È‚¢‚ÆŽv‚¤‚ª...

uˆ—A‚ƈ—B‚̓V[ƒPƒ“ƒVƒƒƒ‹‚ÉŽÀs‚³‚ê‚Ü‚·v‚̈Ӗ¡‚ÍA
ˆ—A‚É‘±‚¢‚Äs‚í‚ê‚鈗B‚ɑ΂µ‚ÄÅ“K‰»‚ªs‚í‚ê‚È‚¢A‚È‚Ç‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚È‚¢B
‚Ó‚¦H
„uƒP[ƒXA‚Ìê‡Aread‚Ì‚Ý‚ªíœ‰Â”\v‚Æ‚¢‚¤•¶Í‚ÍA
„uread‚ªíœ‚³‚ê‚é‚̂̓P[ƒXA‚Ìꇂ݂̂ł ‚év‚Æ‚¢‚¤ˆÓ–¡‚Å‚Í‚È‚¢B
„‘åä•vH

‚ ‚Ù‚­‚³‚¢‚±‚ÆŒ¾‚¤‘O‚É‚»‚̃y[ƒW‘S‘Ì‚ð‚æ‚­“Ç‚ñ‚Å‚Ý‚ë‚æB
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚ð‚ǂ̂悤‚É’è‹`‚µ‚Ä‚é‚©‘‚¢‚Ä‚ ‚é‚©‚çB
uƒƒ‚ƒŠ ƒ‚ƒfƒ‹‚ÍA‡ŽŸˆêŠÑ«ƒ‚ƒfƒ‹ (łৌÀ“I‚©‚ÂŒµ–§‚ȃ‚ƒfƒ‹) ‚ðƒx[ƒX‚Æ‚µAv‚Á‚Ä‚Æ‚±‚ç‚Ö‚ñ‚ÈB
‚¾‚¢‚½‚¢‚»‚ñ‚È‚±‚ÆŒ¾‚Á‚½‚ç‘‚¢‚Ä‚È‚¢‚±‚Æ‚¾‚炯‚È‚ñ‚¾‚©‚çA‚»‚¤‚¢‚¤“Ç‚Ý•û‚¶‚Ⴈ‚©‚µ‚¢‚±‚Æ‚­‚ç‚¢‚í‚©‚낤‚ÉB

„uˆ—A‚ƈ—B‚̓V[ƒPƒ“ƒVƒƒƒ‹‚ÉŽÀs‚³‚ê‚Ü‚·v‚̈Ӗ¡‚ÍA
„ˆ—A‚É‘±‚¢‚Äs‚í‚ê‚鈗B‚ɑ΂µ‚ÄÅ“K‰»‚ªs‚í‚ê‚È‚¢A‚È‚Ç‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚È‚¢B
‚Ç‚±‚Ì‹Lq‚Ì‚±‚Æ‚ðŒ¾‚Á‚Ä‚é‚Ì‚©‚í‚©‚ç‚ñ‚ª‚ÈAˆ—B‚ÌÅ“K‚©‚Á‚Ä‹ï‘Ì“I‚ɉ½‚Ì‚±‚Æ‚ðŒ¾‚Á‚Ä‚éH
“Ç‚ÝŽæ‚è‚ÌÅ“K‰»‚È‚çA‘O‚É“Ç‚ñ‚¾’l‚ðƒLƒƒƒbƒVƒ…‚µ‚Ä‚¨‚­‚­‚ç‚¢‚µ‚©‚È‚¢‚¾‚ëB
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚Å‚ÍA‚»‚¤‚¢‚¤‚Ì‚ð“Ç‚ÝŽæ‚è‚ð‘O‚Ɉړ®‚·‚é‚Æ‚¢‚¤•—‚É’è‹`‚µ‚Ä‚é‚ñ‚¾‚æAã‚̃y[ƒW‚É‚¿‚á‚ñ‚Æ‘‚¢‚Ä‚ ‚éB
‚»‚µ‚Ä“Ç‚ÝŽæ‚è‚Ívolatile“Ç‚ÝŽæ‚è‚æ‚è‘O‚Ɉړ®‚Å‚«‚È‚¢A
‚‚܂èAvolatile“Ç‚ÝŽæ‚è‚æ‚è‘O‚É“Ç‚ÝŽæ‚è‚ðƒLƒƒƒbƒVƒ…‚µ‚Ä‚¨‚­‚Æ‚¢‚¤Å“K‰»‚Í‹–‚³‚ê‚È‚¢B
‘S•”‘‚¢‚Ä‚ ‚éB
‚à‚¤‚¢‚¿‚¢‚¿à–¾‚·‚é‚Ì‚ß‚ñ‚Ç‚­‚³‚¢AŸŽè‚ÉŽ©•ª—¬‰ðŽß‚µ‚Æ‚¯B
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚Ì‚±‚Æ‚Æ‚©‚ ‚é’ö“x‚í‚©‚Á‚Ä‚élŠÔ‚È‚ç‚·‚®‚É—‰ð‚Å‚«‚é˜b‚¾B
volatile—‚݂̃‹[ƒ‹‚̘b‚àAƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ł̃ƒ‚ƒŠƒ‚ƒfƒ‹‚̈ê”Ê“I‚Șb‚ð—‰ð‚µ‚Ä‚é‚È‚ç
‚Í‚Á‚«‚茾‚Á‚Ä펯ƒŒƒxƒ‹‚̘bi‚²‚­‚²‚­ˆê”Ê“I‚ȃ‹[ƒ‹Ajava‚̃ƒ‚ƒŠƒ‚ƒfƒ‹‚à“¯‚¶‚悤‚ȃ‹[ƒ‹jB
ˆê‰ñƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚̃ƒ‚ƒŠƒ‚ƒfƒ‹‚⇘‚ɂ‚¢‚ÄÚ‚µ‚­’²‚ׂĂÝB
>>658
‚¨‘O‚ª•ª‚©‚Á‚Ä‚È‚¢‚±‚Æ‚Í‚Í‚Á‚«‚肵‚Ä‚éB
>>658
„‚»‚à‚»‚à‚»‚Ì•ÛØ‚ª‚È‚¢iƒRƒ“ƒpƒCƒ‰‚ÌÅ“K‰»‚É‚æ‚Á‚Ä•Ï”‚»‚Ì‚à‚Ì‚É‚Í
„ƒAƒNƒZƒX‚µ‚È‚¢‰Â”\«‚ª‚ ‚éj‚©‚çA‚»‚¤‚¢‚¤‰Â”\«‚ð”rœ‚·‚邽‚ß‚Ìvolatile‚Ì
„‚Í‚¸‚È‚ñ‚¾‚¯‚Ç....

ttp://msdn.microsoft.com/ja-jp/library/aa691105.aspx

C‚Æ‚©‚ÌŠ´Šo‚ÅŒ¾‚Á‚Ä‚é‚Ì‚©‚à‚µ‚ê‚È‚¢‚ªA¡‚Ç‚«‚̃}ƒ‹ƒ`ƒXƒŒƒbƒh‚ð‘O’ñ‚Æ‚µ‚½
hava‚âC#‚̂悤‚ÈŒ¾Œê‚Å‚ÍA‚»‚¤ŠÈ’P‚ɃAƒNƒZƒX‚»‚Ì‚à‚Ì‚ªÁ‚³‚ê‚邱‚Æ‚Í‚È‚¢‚æB

ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ųí‚È“®ì‚ð•ÛØ‚·‚邽‚ß‚Éi•ÛØ‚·‚é‚悤‚ȃR[ƒfƒBƒ“ƒO‚ª‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚ÉjA
ƒƒ‚ƒŠƒ‚ƒfƒ‹‚Æ‚¢‚¤‚à‚Ì‚ð’è‹`‚µ‚ÄA‚»‚̃‹[ƒ‹“à‚ÅÅ“K‰»‚ðs‚¤‚悤‚É‚È‚Á‚Ä‚éB
‚¾‚©‚çlock‚âvolatile‚È‚Ç‚ðƒ‹[ƒ‹‚É]‚Á‚ÄŽg—p‚µ‚ÄA³í‚É“®ì‚·‚邱‚Æ‚ª•ÛØ‚Å‚«‚éƒR[ƒfƒBƒ“ƒO‚ðs‚¦‚éB
WordƒhƒLƒ…ƒƒ“ƒg‚É‚È‚Á‚Ä‚éc#Œ¾ŒêŽd—l‚ÌA10.5.3 Volatile ƒtƒB[ƒ‹ƒh‚Ìà–¾‚Å‚àA
>>618‚̂悤‚È“®ì‚ð³í‚És‚¦‚é‚悤‚Évolatile‚ðŽg‚¤—Ⴊ‘‚¢‚Ä‚ ‚é‚ÈB
‚Ü‚ “ú–{Œê‚ª‚¨‚©‚µ‚­‚ĈӖ¡•s–¾‚ÈŠ´‚¶‚É“Ç‚ß‚Ä‚µ‚Ü‚¤‚¯‚Ç‚ÈB
Œ¾‚Á‚Ă邱‚Æ‚Í‚Ü‚³‚É>>618‚Æ“¯‚¶B
using System;
using System.Threading;
class Test
{
public static int result;
public static volatile bool finished;
static void Thread2() {
result = 143;
finished = true;
}
static void Main() {
finished = false;
// Run Thread2() in a new thread
new Thread(new ThreadStart(Thread2)).Start();
// Wait for Thread2 to signal that it has a result by setting
// finished to true.
for (;;) {
if (finished) {
Console.WriteLine("result = {0}", result);
return;
}
}
}
}
‚±‚Ì—á‚Å‚ÍAŽŸ‚̂悤‚Éo—Í‚³‚ê‚Ü‚·B
result = 143
‚±‚Ì—á‚Å‚ÍAMain ƒƒ\ƒbƒh‚ª Thread2 ƒƒ\ƒbƒh‚ðŽÀs‚·‚éV‚µ‚¢ƒXƒŒƒbƒh‚ðŠJŽn‚µ‚Ü‚·B‚±‚̃ƒ\ƒbƒh‚ÍA’l‚ð result ‚Æ‚¢‚¤”ñ volatile ƒtƒB[ƒ‹ƒh‚ÉŠi”[‚µA
ŽŸ‚É volatile ƒtƒB[ƒ‹ƒh finished ‚É true ‚ðŠi”[‚µ‚Ü‚·BƒƒCƒ“ ƒXƒŒƒbƒh‚ÍAƒtƒB[ƒ‹ƒh finished ‚ª true ‚Éݒ肳‚ꂽŽž“_‚ÅAƒtƒB[ƒ‹ƒh result ‚ð“Ç‚Ýž‚Ý‚Ü‚·B
finished ‚Í volatile ‚Æ‚µ‚Ä錾‚³‚ê‚Ä‚¢‚邽‚ßAƒƒCƒ“ ƒXƒŒƒbƒh‚̓tƒB[ƒ‹ƒh result ‚©‚ç’l 143 ‚ð“Ç‚Ýž‚Þ•K—v‚ª‚ ‚è‚Ü‚·B
ƒtƒB[ƒ‹ƒh finished ‚ª volatile ‚Æ‚µ‚Ä錾‚³‚ê‚Ä‚¢‚È‚¢ê‡‚ÍAfinished ‚Ö‚ÌŠi”[Œã‚É result ‚Ö‚ÌŠi”[‚ªƒƒCƒ“ ƒXƒŒƒbƒh‚©‚çŽQƉ”\‚É‚È‚è‚Ü‚·B
‚»‚ÌŒ‹‰ÊAƒƒCƒ“ ƒXƒŒƒbƒh‚ªƒtƒB[ƒ‹ƒh result ‚©‚ç“Ç‚Ýž‚Þ’l‚Í 0 ‚É‚È‚è‚Ü‚·Bfinished ‚ð volatile ƒtƒB[ƒ‹ƒh‚Æ‚µ‚Ä錾‚·‚é‚ÆA‚±‚̂悤‚È–µ‚‚ð‰ñ”ð‚Å‚«‚Ü‚·B
‚ ‚Á‚»
>>658
‚©‚½‚­‚È‚É‚»‚¤M‚¶‚Ä‚é‚â‚‚ª‚¢‚é‚ñ‚¾‚Èc
Œ³XˆÓ–¡‚Ì‚È‚¢ŽQÆ‚È‚ç‚»‚¤‚È‚éꇂ͂ ‚邪A
•’Ê‚Ù‚Æ‚ñ‚Ç‚Ìꇂ͈Ⴄ‚Ì‚ÉB
>>669
·Ø¯
‚‚¢‚Ä‚¢‚¯‚È‚¢‚È‚ç‚­‚¾‚ç‚ñƒPƒ`‚‚¯‚È‚«‚á‚¢‚¢‚Ì‚É
‚Ü‚½“¯‚¶ƒ„ƒc‚ª–\‚ê‚Ä‚é‚Ì‚©‚—
‚¨‘O‚Í‚à‚¤ƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚Æ‚©–³—‚¾‚©‚ç‚ ‚«‚ç‚ß‚ë‚—
ƒNƒ‰ƒXƒAƒZƒ“ƒuƒŠ(dll)‚ð‹–‰Â‚·‚éƒvƒƒWƒFƒNƒg‚¾‚¯‚É“Ç‚Ýž‚Ü‚¹‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì‚ñH
>>681
ƒR[ƒ‹‚µ‚Ä‚¢‚éƒAƒZƒ“ƒuƒŠ‚Ì–¼‚𒲂ׂéB
>>682
‚‹‚—‚“‚‹I
‚¿‚Ȃ݂ɃNƒ‰ƒXƒAƒZƒ“ƒuƒŠ‚ÍŽ©‘O‚̃\[ƒXŒŽ‚Ì•¨‚Å‚ ‚è‚Ü‚·‚鄃
–¼‚͉ü‚´‚ñŒŸ’mo—ˆ‚邾‚¯
DLL‚̃AƒNƒZƒX§ŒÀ‰]X‚Ì‹@”\‚Å‚Í‚È‚¢
‚â‚Á‚Ï‚è‚»‚¤‚È‚ñ‚Å‚·‚Ë
‚ª‚Á‚­‚µEEEE
ProjectA ---{OK}--- A.dll
‘æŽOŽÒ‚ÌProject ---{NG}--- A.dll
‚Ý‚½‚¢‚ÈŽ–‚ð‚â‚肽‚¢Žž‚Í‚Ý‚ñ‚È‚Ç‚¤‚µ‚Ä‚é‚Ì‚ñH
‚»‚ñ‚È‚±‚Æ‚ð‚â‚肽‚¢‚ÆŽv‚Á‚½‚±‚Æ‚ª‚È‚¢B
‚¦[ŽÐ“àƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚©‚Ç‚¤ŠÇ—‚µ‚Ä‚é‚Ì[H
•s³ƒŠƒ“ƒN‚³‚ê‚Ä“‚Ü‚ê‚Ä‚àu‚Å‚Ö‚Ö‚ÁIv‚Æ‚©Œ¾‚¤‚¾‚¯H
‚¤‚»[‚ñ„ƒ
>>685
‚c‚k‚k‚̃tƒ@ƒCƒ‹‚©ƒtƒHƒ‹ƒ_‚ÉNTFS‚̃AƒNƒZƒXŒ ‚‚¯‚ê‚΂悭‚ËH
§ŒÀo—ˆ‚ê‚Î
ƒŠƒtƒŒƒNƒVƒ‡ƒ“Žg‚Á‚ăNƒ‰ƒX’²¸→•s³ƒŠƒ“ƒN→(ß∀ß )±Ë¬Ë¬
‚Æ‚¢‚¤.netŒÅ—L‚Ì•³‚Ý‚½‚¢‚È–â‘肪‰ðŒˆ‚·‚邯‚Ç
–¢‚¾‚É‘Îô‚Í“ï“lj»‚µ‚©‚È‚¢B
•Ê‚É‚È‚ŸB‚»‚à‚»‚àƒAƒZƒ“ƒuƒŠ‚¶‚á‚È‚¢DLL‚È‚çŒÄ‚Ñ•ú‘肾‚µB
”„‚蕨‚Ȃ烉ƒCƒZƒ“ƒXˆ—‚‚¯‚邾‚낤‚µB
‚¨”ƒ‚¢ã‚°‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B‚¾‚ëH
ƒI[ƒvƒ“ƒ\[ƒXŽž‘ゾ‚©‚ç•Ê‚É‚¢‚¢‚¶‚á‚ñ‚—
“‚܂ꂽ‚çÙ”»‚·‚ê‚΂¢‚¢‚µ(·Ø¯
>>691
“‚ñ‚¾‚Ù‚¤‚ÍC++‚Å‘‚«‚Ü‚µ‚½‚Á‚ăIƒ`‚¾
.NET‚Å‚È‚­‚Ä‚àA»•i‚ÌŽÀsƒtƒ@ƒCƒ‹‚â}”Å‚ðŸŽè‚ÉŽg‚í‚ꂽ‚ç‚Ç‚¤‚·‚é‚ñ‚¾‚æB
‚»‚¤‚¢‚¤‚Æ‚«‚Í–@–±•”–å‚âŒÚ–â•ÙŒìŽm‚Ìo”ÔB
‚Ü‚ÁA‚â‚è•ú‘è‚ȋƎ킾‚©‚ç‚Ç‚¤‚µ‚悤‚à‚È‚¢‚Á‚Ä‚±‚Á‚½
Ù”»‚È‚ñ‚´•’Ê‚Í‹N‚±‚¹‚È‚¢‚µ‚»‚à‚»‚à”cˆ¬‚·‚邱‚ÆŽ–‘Ô‚ª•s‰Â”\
ƒ„ƒŠ•ú‘è‚ȋƎ킾‚ÆŽ©•ª‚ÉŒ¾‚¢•·‚©‚¹‚Ä‚é‚Ì‚©H‚±‚Á‚¿‚Ü‚ÅŠª‚«ž‚Þ‚È‚æB
Šª‚«ž‚Þ‚à‰½‚à‘Îô•û–@‚ª‰½‚à‚È‚¢Œ»ó
Ž©ìƒpƒbƒJ[ì‚Á‚½‚Æ‚±‚ë‚ÅÄ‚¯Î‚É…
—‘z‚ÍQ‚ÄŒ¾‚¦
>>683
‚ǂ̃AƒZƒ“ƒuƒŠ‚©‚çƒR[ƒ‹‚³‚ê‚Ä‚¢‚é‚©‚Í‚í‚©‚邾‚ëB
‚»‚µ‚ÄA‚»‚̃AƒZƒ“ƒuƒŠ‚ª‚ǂ̂悤‚È–¼‚³‚ê‚Ä‚¢‚é‚©‚𒲂ׂéB
‹tƒRƒ“ƒpƒCƒ‹–hŽ~‚Í‚»‚êˆÈ‘O‚Ì–â‘èB
–ˆ‰ñA–ˆ‰ñAƒNƒ‰ƒX–ˆ‚É’²‚ׂé‚Ì‚©H
ŽèŠÔ‚©‚©‚è‚·‚¬‚¾‚ë
‚¢‚½‚é‚Æ‚±‚ë‚Å StrongNameIdentityPermission ‚ÅDemand‚Å‚à‚µ‚Æ‚¯B
‚Ü‚ ‰ü‚´‚ñ‚³‚ꂽ‚ç‚à‚¤‚¾‚ß‚¾‚¯‚Ç‚ÈB
’Pƒ‚É
public class MyLicence : License {
public override void Dispose() {}
public override string LicenseKey { get { return ""; } }
}
public class MyLicenceProvider : LicenseProvider {
public override License GetLicense(LicenseContext context, Type type, object instance, bool allowExceptions) {
if (allowExceptions) {
string exename = Path.GetFileName(Assembly.GetEntryAssembly().Location);
if (! exename.Equals("MyLicenceTest.exe")) {
throw new LicenseException(type, instance, "do't licenced");
}
}
return new MyLicence();
}
}
[LicenseProvider(typeof(MyLicenceProvider))]
public class TestClass {
License license;
public TestClass() {
license = LicenseManager.Validate(typeof(TestClass), this);
}
}
‚Æ‚©‚Å‚à‚¢‚¢‚ñ‚¶‚á‚ËHŒÄ‚Ño‚µŒ³exe–¼”›‚èB
‚±‚ñ‚È’ŠÛƒNƒ‰ƒX‚ ‚Á‚½‚Ì‚©B
’†X–Ê”’‚¢ƒAƒvƒ[ƒ`‚¾‚ÆŽv‚¤B
‚Ù‚§A‚±‚ê‚Í‚È‚©‚È‚©…
>>701-702
‚»‚è‚á‚Ç‚¤‚àB‚¦‚Á‚Ö‚ñI
License‚Í”jŠü‚ª•K—v‚¾‚ºc
‚ÆŽv‚Á‚½‚¯‚Ç•K—v‚È‚¯‚ê‚ΕʂɎÀŠQ‚Í‚È‚¢‚Ì‚©c
ƒŠƒ\[ƒXŽ‚Á‚Ä‚È‚¢‚µA‚¢‚¢‚©‚ÈH‚ÆÈ—ª‚µ‚½‚¯‚ÇAŽÀ‘•‚·‚éÛ‚Í’Êí’Ê‚è
Dispose()‚µ‚Æ‚¢‚½‚Ù‚¤‚ª‚¢‚¢‚¾‚ë‚ËB
ƒŠƒ\[ƒX‚Æ‚¢‚¤‚©Žæ“¾‚µ‚½ƒ‰ƒCƒZƒ“ƒX‚ðŠJ•ú‚·‚鈗‚ðD‚«‚É’è‹`‚·‚邾‚¯‚Å‚µ‚å
“¯Žž—˜—p”‚ðƒfƒNƒŠƒƒ“ƒg‚·‚é‚Æ‚©
‹ó‚Å‚à‘S‚­–â‘è‚È‚¢
‚Á‚Ä‚±‚Æ‚Ý‚½‚¢‚ËB
‚Æ‚¢‚¤‚©AƒLƒ‚‚Íexe‚̃tƒ@ƒCƒ‹–¼‚ðŠm”F‚·‚é‚Æ‚±‚ë‚È‚ñ‚¾‚©‚çAŽÀ‘•‚ÌŽd•û‚Íl‚»‚ꂼ‚ê‚Å‚µ‚傤B
‚Á‚Ä‚±‚Æ‚Ý‚½‚¢‚ËB
>>700‚ðoverride‚Æ‚©Žg‚킸‚É‚à‚Á‚Æ•ª‚©‚èˆÕ‚­‘‚¢‚Ä‚­‚ê
webƒAƒvƒŠ‚Å
FileSecurity filesecurity = File.GetAccessControl(path);
(path‚ÍstringŒ^‚Ńtƒ@ƒCƒ‹‚Ìâ‘΃pƒX‚ª‘ã“ü‚³‚ê‚Ä‚¢‚Ü‚·j
‚Æ‚µ‚Ü‚µ‚½B
‚±‚̃tƒ@ƒCƒ‹‚𑼂̃AƒJƒEƒ“ƒg‚Å쬂µ‚ÄA
ƒAƒNƒZƒXŒ ŒÀ‚à‹‘”Û‚É‚µ‚½‚çAƒfƒoƒbƒOŠÂ‹«‚Å‚Å‚·‚ªA

'/'ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[ƒGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B

‚Æo‚ÄAŽÀs‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
‚Æ‚è‚ ‚¦‚¸Atry catch‚ðŽg‚¢AƒAƒNƒZƒX‹ÖŽ~‚Æ‚µ‚Ä
ˆ—‚·‚ê‚ÎAŽÀsƒGƒ‰[‚͉ñ”ð‚Å‚«‚Ü‚µ‚½B
DACL‚Æ‚©‚¢‚Ü‚¢‚¿‚í‚©‚Á‚Ä‚¢‚È‚¢‚Ì‚Å‚·‚ªA
‚È‚É‚©‘¼‚̉ñ”ð•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
‚»‚ñ‚ȃŒƒxƒ‹‚¾‚Á‚½‚ç—]Œv‚È‚±‚Æ‹C‚É‚·‚é‚È
‚Ç‚¤‚¹‚»‚Ì‘¼‚Ì•”•ª‚ÅŒŠ‚¾‚炯
>>711
public class Hoge
{
@@private Hoge() {}

@@public static Hoge()
@@{
@@@@string exename = Path.GetFileName(Assembly.GetEntryAssembly().Location);
@@@@if (exename != "hoge.exe")
@@@@@@throw new Exception();

@@@@return new Hoge();
@@}
}

‚Å‚àAƒŠƒtƒŒƒNƒVƒ‡ƒ“‚âLCG‚ðŽg‚í‚ꂽ‚ç‚Ç‚¤‚È‚é‚ÌH
LicenseProvider‚Á‚ÄŽg‚Á‚½‚±‚Æ‚È‚©‚Á‚½‚©‚ç‚»‚̃Tƒ“ƒvƒ‹ƒR[ƒh‚Æ‚µ‚Ä‚Í
ŽQl‚É‚È‚Á‚½‚¯‚ÇA³’¼ŽÀ—p“I‚ȈӖ¡‚ª‚ ‚é‚Æ‚ÍŽv‚¦‚ñ‚È‚ c

ƒAƒZƒ“ƒuƒŠ‚ªƒ[ƒh‚³‚ꂽŽž‚ɉ½‚ç‚©‚̃Xƒ^ƒeƒBƒbƒNƒƒ\ƒbƒh‚ÌŽÀs‚ð‹­§‚Å‚«‚ê‚Î
‚¢‚ë‚¢‚ë–Ê”’‚¢‚±‚Æ‚ªo—ˆ‚»‚¤‚È‹C‚ª‚·‚é‚ñ‚¾‚¯‚Ç
‚»‚¤‚»‚¤A¡‰ñ‚̘b‚Æ‚Í•Ê‚ÉA‚»‚ê‘O‚©‚ç‚Ù‚µ‚©‚Á‚½‚ñ‚¾‚æ‚ËB
ŽÀ—p“I‚ɂ͗Ⴆ‚ÎSID‚Æ‚©MAC‚Æ‚©USBƒƒfƒBƒA‚ÌPNPDeviceID‚Æ‚©
¦ SID : GetComputerNameALookupAccountName APIŽQÆ
¦ MAC : NetworkInterface.GetPhysicalAddress ŽQÆ
¦ PNPDeviceID : WMI ‚Å Win32_DiskDrive, Win32_DiskDriveToDiskPartition, Win32_LogicalDiskToPartition, Win32_LogicalDisk ŽQÆ
‚»‚¤‚¢‚Á‚½—˜—pŽÒ‚ðˆêˆÓ‚É“Á’èo—ˆ‚éî•ñ‚ðƒvƒƒ_ƒNƒgƒL[‚ƈê‚ÉŒöŠJŒ®‚Å
ˆÃ†‰»‚µ‚ă‰ƒCƒZƒ“ƒX”F؃T[ƒo‚É‘—‚Á‚ÄAƒT[ƒo‚Å”FØŒã‚ɔ閧Œ®‚Å
“Á’èî•ñ‚ðˆÃ†‰»‚µ‚Ä‘—‚è•Ô‚µ‚Ä‚à‚ç‚Á‚½‚à‚Ì‚ð‹L˜^B
‚»‚Ìî•ñ‚ðŒöŠJŒ®‚Å•œ†‚µ‚Ä“®ìŠÂ‹«‚ł̎擾’l‚ƈê’v‚µ‚Ä‚¢‚È‚©‚Á‚½‚ç
ƒ‰ƒCƒZƒ“ƒXˆá”½‚Æ”»’fEEE‚Æ‚©ƒƒ“ƒhƒNƒT‚¢ŽÀ‘•‚Í•K—v‚ɉž‚¶‚ÄB
‚¤‚ñ‚Ü‚ ‰ü‚´‚ñ‚³‚ꂽ‚çˆÓ–¡‚È‚¢‚ñ‚¾‚¯‚Ç‚ËB
‚»‚ê‚ðŒ¾‚Á‚½‚ç‚Ç‚ñ‚ȃAƒvƒŠAExcel‚¾‚낤‚ÆWindowsOS‚¾‚낤‚ÆAƒŠƒGƒ“ƒWƒjƒAƒŠƒ“ƒO
‚³‚ê‚ă‰ƒCƒZƒ“ƒXˆ—•”‚ð‰ü‚´‚ñ‚³‚ꂽ‚ç–³—B
‚»‚ê‚ðŒ¾‚¤‚±‚ƂɈӖ¡‚Í‚ ‚é‚Ì‚©‚ÈH
ŠÈ’P‚³‚ªˆá‚¤‚Á‚ĘbB
Šm‚©‚ÉDllMain“I‚È‚Ì‚Í—~‚µ‚¢‚æ‚ÈB
static ƒCƒjƒVƒƒƒ‰ƒCƒU‚Ń`ƒFƒbƒN‚µ‚¿‚á‚¢‚©‚ñ‚ÌH
staticƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Í‚¢‚ŒĂ΂ê‚é‚©‚í‚©‚ç‚È‚¢
ƒAƒZƒ“ƒuƒŠ‚É‘®«‚ð‚‚¯‚Ä‚¨‚¢‚Ä
‚»‚Ì‘®«‚ÉstaticƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽdž‚ñ‚Å‚¨‚¯‚Î
dll‚ð“Ç‚Ý‚±‚ñ‚¾ƒ^ƒCƒ~ƒ“ƒO‚ÅŽÀs‚³‚ꂽ‚肵‚È‚¢‚©‚È‚ 
‚Ó[‚ñ
>>724
‚³‚ê‚È‚¢
ƒJƒXƒ^ƒ€‘®«‚Á‚Ä‚¢‚¤‚Ì‚Í‚ ‚­‚܂Ńƒ^[ƒf[ƒ^‚̃‰ƒbƒp[ƒNƒ‰ƒX‚È‚Ì‚Å
ƒCƒ“ƒXƒ^ƒ“ƒX‚ªì‚ç‚ê‚é‚Ì‚Í‚»‚Ì‘®«‚ðŽQÆ‚µ‚悤‚Æ‚µ‚½‚Æ‚«
‚¨‘O‚ç’Þ‚è‘Ï«’á‚·‚¬‚¾‚ë
>>726
(ßÍß)
>>700‚݂ĉ½‚¶‚Ⴑ‚è‚á‚Æ‚¨‚à‚Á‚½‚¯‚Ç>>714Œ©‚½‚ç‹°‚낵‚­’Pƒ‚—
‰½\ŒÂ‚àƒNƒ‰ƒX‚ðƒ‰ƒCƒZƒ“ƒXŠÇ—‚µ‚È‚¢‚È‚ç >>714 ‚Å[•ª‚¾‚ËB
>>729
’x‚¢
>>700‚Å‚à[•ªŠÈ’P‚¶‚á‚Ë‚¥‚©B
‚ ‚ñ‚È‚Ì‚·‚番‚©‚ç‚È‚©‚Á‚½‚ç‚»‚à‚»‚àƒR[ƒh‚©‚¯‚Ë‚¥‚¾‚ëB
>>732
ƒCƒ“ƒfƒ“ƒg‚Ì·‚¾‚ë
‚Ü‚ ŠmŽÀ‚ÉŒ¾‚¦‚邱‚Æ‚ÍA>>700 ’ö“x‚̃R[ƒh‚ª•¡ŽG‚ÉŒ©‚¦‚é‚ñ‚¶‚჉ƒCƒZƒ“ƒX•ÛŒì
‚È‚ñ‚Ä“–•ª‚Í–³‰‚¾‚Æ‚¢‚¤‚±‚ÆB
>>733
êƒuƒ‰‚Å>>700‚ðƒ|ƒbƒvƒAƒbƒv‚³‚¹‚ÄŒ©‚ê‚΂¢‚¢
‚¤‚Ù
æ¶I
thread.spinwait‚Æthread.sleep‚Á‚Ä‚Ç‚¤ˆá‚¤‚ñ‚Å‚·‚©‚ÁH
MSDN“Ç‚ñ‚Å‚àˆø”‚̈Ⴂ‚®‚ç‚¢‚µ‚©‚í‚©‚ç‚È‚¢‚Å‚·I
‚“x‚È‹Zp‚ðŽ‚Á‚Ä‚élA‚¨‚·‚¦‚ÄI
‰ðà“Ç‚ß‚æB
>>738
‚í‚©‚è‚Ü‚¹‚ñI
WindowsƒtƒH[ƒ€ƒAƒvƒŠ‚ðì‚é‚ƃƒCƒ“ƒEƒBƒ“ƒhƒE‚̃Nƒ‰ƒX‚ª‚ß‚Á‚¿‚á‘å‚«‚­‚È‚Á‚¿‚Ⴄ‚ñ‚Å‚·‚ªAŽd•û‚È‚¢‚ñ‚Å‚µ‚傤‚©H
‚»‚ê‚Æ‚àpartial‚Å•ªŠ„‚·‚é‚ׂ«‚Å‚·‚©Hi‚ ‚Ü‚èˆÓ–¡‚È‚¢‚ÆŽv‚¢‚Ü‚·‚ªj
partial‚Ì•ªŠ„‚͈Ӗ¡‚È‚¢B
ƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚É‚·‚é‚Æ‚©AƒrƒWƒlƒXƒƒWƒbƒN‚ð•ÊƒNƒ‰ƒX‚É‚·‚é‚Æ‚©A
‚»‚ñ‚ÈŠ´‚¶B
ApplicationContextŽg‚Á‚ÄAMainForm‚ɂ̓Cƒ“ƒ^ƒtƒF[ƒXƒŒƒxƒ‹‚̃vƒƒOƒ‰ƒ€‚µ‚©‘‚©‚È‚¢‚Æ‚©‚©‚ÈB
‚»‚ê‚Å‚àƒRƒ“ƒgƒ[ƒ‹‚Ì—Ê‚ª‘½‚¢‚ƃCƒxƒ“ƒgƒƒ\ƒbƒh‚¾‚¯‚Å‚à‚ß‚Á‚¿‚ᑽ‚­‚È‚Á‚¿‚Ⴄ‚ñ‚Å‚·‚æ‚ËB
‚»‚±‚»‚±•’ʂ̃tƒŠ[ƒc[ƒ‹‚­‚ç‚¢‚Ì‹K–Í‚Å‚àƒƒCƒ“ƒEƒBƒ“ƒhƒE‚̃Nƒ‰ƒX‚¾‚¯‚ʼn½çs‚É‚à‚È‚Á‚¿‚ႤB
‚¾‚©‚çA‚»[‚ä[‚̂̓†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚É‚Ü‚Æ‚ß‚é‚ñ‚¾‚Á‚Ä‚ÎB
‚ÅAƒfƒUƒCƒi‚ªƒoƒO‚Á‚ijí‚É•\Ž¦‚³‚ê‚È‚¢A‚Æw
‚ ‚ꂽ‚Ô‚ñ2010‚Å‚à•ú’u‚È‚ñ‚¾‚낤‚È
>>743 >>745
‚Ö‚Á‚½‚­‚»‚¾‚È‚Ÿ
ƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚ª³í‚É“®‚©‚È‚¢‚Ì‚Íì‚è•û‚ªˆ«‚¢
>>746
‹ï‘Ì“I‚É‹³‚¦‚Ä‚æ
‚È‚ñ‚Å‚»‚ñ‚È‚Å‚©‚­‚È‚é‚ñ‚¾‚ëB
ƒCƒxƒ“ƒg‚ª·‚肾‚­‚³‚ñ‚È‚ÌH
ƒ{ƒ^ƒ“‚ª•SŒÂ‚ ‚é‚Ì‚ÅAƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚ª•SŒÂ‚È‚ñ‚Å‚µ‚åB
ƒ{ƒ^ƒ“‚PŒÂ‚É‚¢‚­‚‚̃Cƒxƒ“ƒg‚ª‚ ‚é‚ÆŽv‚Á‚Ä‚ñ‚¾
‚Í‚È‚µ ‚ª ‚©‚Ý‚ ‚Á‚Ä ‚È‚¢
‚â‚Á‚Ï‚Ö‚Á‚½‚­‚»‚¾‚È
>>746-747
‘flL‚¢ˆÓŒ©‚¾‚ÈB
‚»‚ñ‚Ȃ킯‚È‚¢‚Å‚µ‚åw

ŽÀÛ‚ ‚é’ö“x‚â‚Á‚Ä‚Ý‚ê‚Ή´‚ÌŒ¾‚Á‚Ä‚éˆÓ–¡‚ª‚í‚©‚é‚æB
Ž©ÌŒºl¢
>>754
ƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹Žg‚Á‚½‚±‚Æ‚à‚È‚¢Ž©ÌŒºl‰³
IDE‚É•\Ž¦‚³‚ê‚È‚¢‚Æ‚¢‚¤——R‚¾‚¯‚ц[ƒUƒRƒ“ƒgƒ[ƒ‹‚ð”ð‚¯‚é‚Á‚Ä‚Ç‚¤‚È‚ÌH
#define BEGIN {
‚Æ“¯‚¶‚­‚ç‚¢‚Ђǂ¢‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇA‘fl‚¾‚©‚ç‚Å‚·‚©‚Ë
‚»‚ê‚ÍŒ¾‚¢‚·‚¬B
IDE‚̃R[ƒh¶¬‚ÍM—p‚Å‚«‚È‚¢‚Ì‚Å‹ÖŽ~A‚­‚ç‚¢‚¾‚ëB
EEEIDE‚Éo‚È‚¢Hƒc[ƒ‹ƒ{ƒbƒNƒX‚Éo‚Ä‚«‚Ä‚¢‚éƒRƒŒ‚Í‚È‚ñ‚¾‚낤H
>>757
u‚¾‚©‚çv”ð‚¯‚ë‚Æ‚©Žg‚¤‚ׂ«‚Å‚È‚¢A‚ȂǂƂ͈ꌾ‚àŒ¾‚Á‚Ä‚È‚¢B
—g‚°‘«Žæ‚茺l‚Å‚·‚ËB‚©‚Á‚±‚¢‚¢‚Å‚·I
>>760
ƒfƒUƒCƒi‚ªƒoƒO‚Á‚ijí‚É•\Ž¦‚³‚ê‚È‚¢‚Æ‚¢‚¤‚Ì‚Í‘fl‚ª‚æ‚­ƒnƒ}‚é•”•ª‚¾‚©‚ç
‹C‚ð‚‚¯‚ë‚Á‚ÄŒ¾‚¤ˆÓ–¡H
ƒKƒLL‚¢—g‚°‘«Žæ‚肵‚Ä‚é‚Ì‚Í‚Ç‚Á‚¿‚¾‚æB
ƒlƒgƒEƒˆ‚Ý‚½‚¢‚È‚æ‚­‚í‚©‚ç‚ñ”íŠQ–Ï‘z‚¾‚È‚¨‚¢B

‚±‚Á‚¿‚Í’P‚ÉVS‚̃fƒUƒCƒi‚̓†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚ðŽg‚¤‚ƃoƒO‚Á‚Ä
³í‚É•\Ž¦‚³‚ê‚È‚­‚È‚éꇂª‚ ‚éA‚Æ‚¢‚¤Ž–ŽÀ‚ðŒ¾‚Á‚Ă邾‚¯B

‚Á‚Ä‚¢‚¤‚©A‚±‚Ì’ö“x‚ÌŒoŒ±‚à‚È‚¢“z‚ªˆÌ‚»‚¤‚Éuƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹Žg‚¦v
‚Æ‚©l‚ÉuŽß‚‚ê‚Ä‚é‚Á‚Ä‚¢‚¢ª«‚µ‚Ä‚é‚æ‚ÈB
>>762
VSŽ©‘̂̃oƒO‚¾‚©‚çŽg‚¤‘¤‚ªŒºl‚©‘fl‚©ŠÖŒW‚È‚¢‚µA
‹C‚ð‚‚¯‚悤‚à‚È‚¢‚ñ‚¾‚¯‚Ç‚³‚¾‚©‚çB
ŠY“–ƒoƒO‚ÌURLŽN‚µ‚½‚ç‚·‚®Ï‚Þ‚±‚Æ‚È‚Ì‚É
VS2008‚ŃfƒUƒCƒi‚ª‚µ‚å‚Á‚¿‚イ•…‚邱‚Æ‚ª‚ ‚é‚â‚‚ð
VS2010‚ÉŽ‚Á‚Ä‚«‚½‚ªA‚¢‚Ü‚Ì‚Æ‚±ˆê“x‚à•…‚Á‚Ä‚È‚¢
2002‚â2003‚É”ä‚ׂ½‚ç2008‚̈À’è‚Õ‚è‚Á‚½‚ç‚È‚¢‚ñ‚¾‚¯‚ÇA2010‚Í‚³‚ç‚É’²Žq—Ç‚¢‚Ì‚©
‚±‚ê‚ÍŠy‚µ‚Ý
ƒRƒ“ƒgƒ[ƒ‹‘½‚­‚Ä‚à‚Ù‚Æ‚ñ‚ǃ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚¾‚©‚çAƒtƒH[ƒ€‘¤‚ÉŽÀ‘•‚·‚鎖‚Ù‚Æ‚ñ‚Ç–³‚¢‚È‚ŸB
‚»‚ñ‚ȂɃtƒH[ƒ€ŒÅ—L‚̈—‚Á‚Ä‘½‚¢‚à‚ñH
>>768
ƒ†[ƒUƒRƒ“ƒgƒ[ƒ‹ì‚Á‚½‚çƒoƒO‚é‚Á‚ÄŒ¾‚í‚ê‚é‚æ
ƒ{ƒ^ƒ“‚ɃNƒŠƒbƒNƒCƒxƒ“ƒgˆêŒÂ•t‚¯‚邾‚¯‚Å‚à‚í‚´‚í‚´ˆêŒÂ‚̃†[ƒU[ƒRƒ“ƒgƒ[ƒ‹ì‚é‚ÌH
‚»‚¤‚·‚ׂ«‚¾‚ÆŽv‚Á‚½‚ç‚»‚¤‚·‚é‚È
772 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 04:29:59
>>770
ƒ{ƒ^ƒ“ƒRƒ“ƒgƒ[ƒ‹‚É‚¾‚¯ŠÖ˜A‚·‚鈗‚Ȃ烆[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚©
Œp³‚µ‚½ƒNƒ‰ƒXì‚Á‚Ä‚»‚±‚Ö“ü‚ê‚Ä‚µ‚Ü‚¦‚΂¢‚¢‚ñ‚¶‚á‚ËH

Form‚É‚¾‚炾‚ç‘‚­‚æ‚è‚·‚Á‚«‚è‚·‚é‚æ
Œp³‚µ‚½‚ç‚»‚è‚áƒR[ƒh‚Í•ªŠ„o—ˆ‚邯‚Ç
ƒfƒUƒCƒi‚̈Ӗ¡‚𬂳‚È‚­‚È‚Á‚Ä‚­‚é‚È
Visual Studio‚Ì“oê‚ÅA“à•”‚Í‚Ç‚ñ‚Ç‚ñ•¡ŽG‚ÉA•\–Ê‚ÍŠÈ’P‚É‚È‚Á‚½‚¨‚©‚°‚Å
Šî–{‚â\‘¢‚ð—‰ð‚¹‚¸‚ɉ½‚Æ‚È‚­ƒ\ƒtƒg‚ðì‚éƒvƒƒOƒ‰ƒ}[‚ª‘‚¦‚½

ƒ}ƒVƒ“ƒpƒ[‚ª—L‚è—]‚Á‚Ä‚é‚©‚çA‚¢‚¢‚©‚°‚ñ‚Èì‚è‚̃\ƒtƒg‚Å‚à‚»‚ê‚È‚è‚É“®‚¢‚Ä‚µ‚Ü‚¤‚Ì‚à‘P‚µˆ«‚µ
>>773
‚à‚¤­‚µÚ‚µ‚­B
“K“–‚É—\‘z‚µ‚ăŒƒX‚·‚é‚Æ“{‚ç‚ê‚é—¬‚ê‚Á‚Û‚¢‚Ì‚ÅB
776 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 05:11:51
>>773
¬‚·‚æ
‚Ü‚ ‚±‚Ì‚ ‚½‚è‚Ý‚Ä‚­‚ê
http://cs2ch.blog123.fc2.com/blog-entry-8.html
>>775
ƒCƒxƒ“ƒg’ljÁ‚·‚鎞‚É+=‚ð‘‚©‚È‚­‚¿‚á‚¢‚¯‚È‚­‚È‚é‚Æ‚©
778 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 05:35:24
>>777
hoge.Click +=
‚Æ‚©‘‚¢‚ÄTAB2‰ñ‰Ÿ‚¹‚ΟŽè‚ɂ‚­‚Á‚Ä‚­‚ê‚邶‚á‚ñ
>>778
ƒvƒƒpƒeƒB‚̃Cƒxƒ“ƒg‚ð‘I‚ׂȂ¢‚¶‚á‚ñ
780 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 05:54:13
>>779
‚¾‚©‚ç‚»‚Ì•Ó‚Í>>776“Ç‚ß‚Á‚Ä
ˆê’UƒfƒoƒbƒN‚·‚ê‚ÎŒp³‚µ‚½ƒNƒ‰ƒX‚à“¯‚¶‚悤‚É‘€ì‚Å‚«‚é‚©‚ç
‚»‚ꂪ‚Å‚«‚È‚¢‚ÆForm‚ðŒp³‚µ‚½Form1‚ÌÝ’è‚Í‚Ç‚¤‚â‚Á‚ÄŽÀŒ»‚·‚é‚ñ‚¾‚æ
•’iƒR[ƒh‚ð‚²‚è‚²‚è‘‚¢‚Ä‚é‚Ì‚ÍForm‚ðŒp³‚µ‚½ƒNƒ‰ƒX‚¾‚¼
>>780
MainForm‚̃fƒUƒCƒi‚©‚çŒp³‚³‚¹‚½ƒRƒ“ƒgƒ[ƒ‹‚̃Cƒxƒ“ƒg‚ð
ƒvƒƒpƒeƒBƒEƒBƒ“ƒhƒE‚©‚烃\ƒbƒh¶¬‚³‚¹‚é‚Æ
Œ‹‹ÇMainForm‚̃Nƒ‰ƒX“à‚Ƀƒ\ƒbƒh‚ª’ljÁ‚³‚ê‚È‚¢‚©H
‚±‚ꂶ‚ᕪŠ„o—ˆ‚Ä‚È‚¢‚ñ‚¾‚ª
ƒ{ƒ^ƒ“100ŒÂ‚ ‚Á‚ÄA100ŒÂƒNƒŠƒbƒNƒCƒxƒ“ƒg‚ð‘‚­‚Ì‚Í‹ð‚Ìœ’¸‚¾‚ëB
ƒCƒ“ƒ^ƒtƒF[ƒX‚ÌŽdŽ–‚Æ‚µ‚Ä‚ÍA‚ǂ̃{ƒ^ƒ“‚ªƒNƒŠƒbƒN‚³‚ꂽ‚©‚ð“`‚¦‚邾‚¯‚Å—Ç‚¢‚ñ‚¾‚©‚炳B

‚»‚êˆÈã‚ÉA“®‚©‚·—p“r‚É‚æ‚Á‚Ä‘‚«•û‚Í•Ï‚í‚é‚ÆŽv‚¤‚ñ‚¾‚ªB
100ŒÂ‚ ‚éƒ{ƒ^ƒ“‚»‚ꂼ‚ꂪ‘S‚­•Ê‚̈—‚ðs‚¤‚Æ‚¢‚¤‚Ì‚Íl‚¦‚Â炢
ƒc[ƒ‹ƒ{ƒ^ƒ““I‚È‚à‚Ì‚âAƒf[ƒ^s‚»‚ꂼ‚ê‚ɑ΂·‚éƒRƒ}ƒ“ƒh‚ ‚½‚肾‚낤‚¯‚Ç
‚»‚¤‚¢‚¤‚Ì‚Í‹¤’Ê‚Ì“ü‚èŒû‚©‚çU‚蕪‚¯‚ç‚ê‚é
‚¾‚Ë
private void button1_clickClick(object sender, EventArgs e)
{
@@MessageBox.Show("1");
}

private void button2_clickClick(object sender, EventArgs e)
{
@@MessageBox.Show("2");
}

...

private void button100_clickClick(object sender, EventArgs e)
{
@@MessageBox.Show("100");
}

‚È‚ñ‚ăR[ƒh‚ª‚ ‚Á‚½‚çŒp³‚µ‚ÄAˆê‚‚ɓZ‚ß‚ë‚ÆŒ¾‚¢‚½‚­‚È‚é‚í‚ÈB
‚³‚·‚ª‚É‚»‚ê‚ÍEEE‚—
Žg‚¤•û‚à‘å•Ï‚¾‚ÈAƒ{ƒ^ƒ“100ŒÂ
ƒ\ƒtƒgƒEƒFƒA˜a•¶ƒ^ƒCƒvƒL[ƒ{[ƒh‚Æ‚©
788 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 14:03:54
>>787
Tag‚Å‚àName‚Å‚à‚¢‚¢‚Ì‚ÅŽ¯•Ê‚ÉŽg‚¤î•ñ‚à‘«‚¹‚Ä‚¨‚¯‚Î
ƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚Å—]—T‚ň—‚Å‚«‚é‚æ
789 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 14:10:08
>Tag‚Å‚àName‚Å‚à‚¢‚¢‚Ì‚ÅŽ¯•Ê‚ÉŽg‚¤î•ñ‚à‘«‚¹‚Ä‚¨‚¯‚Î
>ƒCƒxƒ“ƒgƒnƒ“ƒhƒ‰‚Å—]—T‚ň—‚Å‚«‚é‚æ
Tag‚Å‚àName‚Å‚à‚¢‚¢‚Ì‚ÅŽ¯•Ê‚ÉŽg‚¤î•ñŽ‚½‚¹‚Ä‚¨‚¯‚Î
ˆê‚‚̃Cƒxƒ“ƒgƒnƒ“ƒhƒ‰‚Å—]—T‚ň—‚Å‚«‚é‚æ
>>785
Œp³‚à‰½‚àAˆê‚‚¾‚¯ì‚Á‚ÄŒã‚Í‘S•”“¯‚¶‚ÌŽw’肵‚ë‚Á‚ÄŠ´‚¶Hw
IDE‚©‚ç‚à‚Å‚«‚邵‚ÈI
>>777
•”•i‰»‚µ‚½‚É‚à‚©‚©‚í‚炸A‰½ˆ‚©‚̃tƒH[ƒ€‚ÌŸŽè‚È——R‚Å•”•i‚ð•ÏX‚µ‚悤‚Æ‚·‚é‚ÌH

>>790
MessageText‚Ý‚½‚¢‚ȃvƒƒpƒeƒB‚ð‚‚­‚èAIDE‚©‚ç‚à‘€ì‚Å‚«‚é‚悤‚É‚µ‚Ä‚¨‚«A
ƒNƒŠƒbƒN‚³‚ꂽŽž‚ÉMessageBox.Show(MessageText)‚ðs‚¤‚悤‚ȃ{ƒ^ƒ“‚ð쬂·‚ê‚Î
IDE‚Å”z’u¨MessageText‚ðÝ’è
‚Æ‚¢‚¤ì‹Æ‚É‚È‚é‚æ
‚í‚´‚í‚´‚‚­‚é‚Ì‚ß‚ñ‚Ç‚­‚³‚­‚Ä‚±‚¤‚µ‚Ä‚µ‚»‚¤B

private void Form1_Load(object sender, eventargs e)
{
@@@@Foreach (Control c in Panel1.Controls)
@@@@{
@@@@@@@@if(typeof(c)==typeof(Button)) ((Button)c).Click += new EventHandler(softkeys_button_click);
@@@@}
}
private void softkeys_button_click(object sender, eventargs e)
{
@@@@Textbox1.Text = String.concat(Textbox1.Text, ((Button)sender).Text);
}
ƒfƒUƒCƒi‚Åo—ˆ‚È‚¢‰]X
>>785
‚±‚̗Ⴞ‚ÆŒp³‚È‚ñ‚Ä‚¢‚ç‚È‚¢‚Å‚µ‚åB
button_click‚É‘S‚Ä‚Ü‚Æ‚ß‚ÄŽ©•ªŽ©g‚ð”»•Ê‚·‚ê‚΂¢‚¢‚ñ‚¶‚á‚Ü‚¢‚©B
>>794
Ž©•ªŽ©g‚ð”»’f‚·‚éÛ‚É“K“–‚ȃvƒƒpƒeƒB‚ª‚ ‚é‚©‚Ç‚¤‚©‚Á‚Ä‚Æ‚±‚낾‚ÈB
796 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 18:15:47
>>795
Tag‚É‚È‚ñ‚Å‚àÝ’è‚Å‚«‚é‚Ì‚ÅŽ¯•Êî•ñ‚ð“ü‚ê‚é‚©
Name‚Ébuttonxxx‚ÆŒ¾‚Á‚½Š´‚¶‚Åxxx‚Ì•”•ª‚ÉŽ¯•Êî•ñ‚ð“ü‚ê‚Ä‚¨‚¯‚΂n‚j
>>795
Tag‚Á‚Ä‚»‚¤‚¢‚¤‚Ì‚ÉŽg‚Á‚¿‚áƒ_ƒ‚È‚ÌH
ƒ{ƒ^ƒ“10ŒÂ‚ ‚Á‚Ä‚»‚ꂼ‚ê‚É10ŒÂ‚̃Cƒxƒ“ƒg‚ª‚ ‚Á‚½‚ç100ƒCƒxƒ“ƒgB
‚»‚Ì‘¼‚̃Rƒ“ƒgƒ[ƒ‹‚à‚ ‚Á‚½‚甕SŒÂ‚̃Cƒxƒ“ƒg‚ª‚ ‚Á‚Ä‚à‚¨‚©‚µ‚­‚È‚¢B
‚»‚µ‚Ä‚»‚ê‚炪‹¤’Ê‚µ‚È‚¢‹@”\‚È‚Ì‚à•’Ê‚É‚ ‚蓾‚éB
‚»‚¤‚¢‚¤ó‹µ‚ÌŽž‚Ƀ†[ƒUƒRƒ“ƒgƒ[ƒ‹‚ðŽg‚¦‚Á‚Ęb‚¶‚á‚È‚¢‚ÌH
‚Å‚à‚»‚ꂾ‚ƃCƒxƒ“ƒg‚ðŠÖ˜A•t‚¯‚é‚Æ‚«‚ɃvƒƒpƒeƒBƒEƒBƒ“ƒhƒE‚ÍŽg‚¦‚Ü‚¹‚ñ‚æ[‚Á‚ĘbB
>>798
>ƒCƒxƒ“ƒg‚ðŠÖ˜A•t‚¯‚é‚Æ‚«‚ɃvƒƒpƒeƒBƒEƒBƒ“ƒhƒE‚ÍŽg‚¦‚Ü‚¹‚ñ‚æ
EEE‚¨‘O‚͉½‚ðŒ¾‚Á‚Ä‚é‚ñ‚¾EEEH
Œp³‚µ‚½‚Ì‚àƒJƒXƒ^ƒ€‚Ì‚àA•’ʂɃvƒƒpƒeƒB‘‹‚©‚çƒCƒxƒ“ƒg•t‚¯‚ç‚ê‚邼H
—¬‚ꕧ‘½‹`—‚Å‚¿‚å‚¢Ž¿–â
Firefox‚Ý‚½‚¢‚Ƀ^ƒu‚ɕ‚¶‚邵‚¢‚½‚¯•t‚¯‚½‚¢‚ñ‚¾‚¯‚Ç
ƒI[ƒi[ƒhƒ[‚·‚邵‚©‚È‚¢H
>>798
ƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚É‚·‚é‚Ì‚È‚çA
ƒƒ\ƒbƒh‚âƒvƒƒpƒeƒB“¯—l‚ÉAƒCƒxƒ“ƒg‚àƒRƒ“ƒgƒ[ƒ‹“à‚Å’è‹`‚µ‚½‚çƒvƒƒpƒeƒBƒEƒBƒ“ƒhƒE‚ÅŽg‚¦‚é‚Á‚µ‚åB
802 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 18:49:40
>>800
ƒ^ƒu•”•ª‚ɕ‚¶‚éƒ{ƒ^ƒ“‚Á‚Ä‚±‚ÆH
label‚È‚ñ‚©‚¾‚Æ”z‰º‚Ébutton‚Æ‚©’u‚¯‚é‚ñ‚¾‚¯‚Ç
ƒ^ƒuƒRƒ“ƒgƒ[ƒ‹‚̃^ƒu•”•ª‚É‚Å‚«‚½‚Á‚¯‚©‚ÈH
>>800
‚¤‚ñAƒI[ƒi[ƒhƒ[B
>>799
>>801
‚ ‚êH
ƒvƒƒpƒeƒBƒEƒBƒ“ƒhƒE‚©‚çƒCƒxƒ“ƒg‚ðŽ©“®¶¬+ŠÖ˜A•t‚¯‚µ‚½‚çAŒ‹‹ÇƒƒCƒ“ƒNƒ‰ƒX‚ɶ¬‚³‚ê‚È‚¢H
ƒƒCƒ“ƒNƒ‰ƒX‚ɶ¬‚³‚ꂽ‚ç‚í‚´‚í‚´ƒ†[ƒUƒRƒ“ƒgƒ[ƒ‹ì‚Á‚½ˆÓ–¡‚ª‚È‚¢‹C‚ªcB
‚ ‚ ‚²‚ß‚ñB‰½‚¢‚Á‚Ä‚ñ‚¾B
ƒ†[ƒUƒRƒ“ƒgƒ[ƒ‹‚Ì•û‚̃vƒƒpƒeƒBƒEƒBƒ“ƒhƒEŽg‚¦‚΂¢‚¢‚ñ‚¾‚æ‚ËB
>>802
‚Ç‚¤‚àƒ^ƒu‚»‚Ì‚à‚Ì‚ðŽæ“¾‚·‚é‚Ì‚ª“‚¢‚Ý‚½‚¢
‚¾‚©‚猋‹Ç>>803‚Á‚ÄŒ‹˜_‚µ‚©‚È‚¢‚©
WPF‚È‚çŠÈ’P‚È‚Ì‚©‚Ë[H
807 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/22(‰Î) 19:21:55
>>806
‚ ‚Ƃ̓^ƒu‚Û‚¢“®‚«‚ð‚·‚éƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚ðŽ©•ª‚Åì‚é‚©‚¾‚Ë‚¦
Ž¿–â‚Å‚·B
RichTextBox‚ÅsŠÔ‚ðƒsƒNƒZƒ‹’PˆÊ‚ÅŽw’è‚·‚é•û–@‚Í‚ ‚è‚Ü‚·‚©?
ƒRƒ“ƒgƒ[ƒ‹‚ðŒp³‚µ‚½Žž‚̃fƒUƒCƒi‚Á‚Ä‚È‚ñ‚Å•\Ž¦‚³‚ê‚È‚¢‚ñ‚¾‚Á‚¯H
>>806
WPF‚È‚çŠÈ’P‚¾‚ËAƒ^ƒu‚ɉ½‚Å‚à“ü‚ê‚ç‚ê‚éBTabControl in ƒ^ƒu‚È‚ñ‚ĈӖ¡•s–¾‚ÈUI‚³‚¦‰Â”\‚¾B

>>808
WinForm‚ÌRichTextBox‚¾‚ÆAEM_SETPARAFORMAT‚ÅÝ’è‚Å‚«‚È‚¢‚±‚Æ‚à‚È‚¢
WPF‚È‚ñ‚ÄŽg‚Á‚Ä‚éƒAƒz‚Ü‚¾‚¢‚é‚Ì‚©
WPF‚Í‚±‚ê‚©‚ç
>>811
VS2010‚ðdis‚Á‚Ä‚é‚ÌH
WPF‚Æ‚©XNA‚Æ‚©‚µ‚å‚Á‚Ï‚¢‚à‚ñŽg‚Á‚Äì‚é‚­‚ç‚¢‚È‚ç
DirectX‚ð‚¿‚á‚ñ‚ÆŽg‚¦‚é‚悤‚É‚µ‚ë‚Æ
Œy‚³‚ª–{•ª‚ÌIDE‚ðA—Ç‚¢ƒOƒ‰ƒ{•K{‚É‚µ‚½í”Æ‚Æ•·‚«‹y‚ñ‚Å‚¨‚è‚Ü‚·‚ªA”½˜_‚ÍH
IDE‚Ì–{•ª‚ªŒy‚³‚Å‚ ‚Á‚½Žž‚È‚Ç‚È‚¢B‚Í‚¢‚ë‚ñ‚Ï[
‚‚܂è‚Íì‚éƒAƒvƒŠŠF‚«”\ƒOƒ‰ƒ{‚«”\CPU•K{‚É‚·‚é‘f°‚炵‚¢‹Zp‚Å‚·‚ÈB
‚¢‚â‚Í‚âANVIDIA‚ÉAMDAƒCƒ“ƒeƒ‹‚©‚犴ŽÓ󂪊ú‘Ò‚Å‚«‚Ü‚·‚Ì‚¤B
‚¶‚á‚ ‚¢‚‚܂łàWin9xŠî€‚Åì‚Á‚Ä‚ë‚æ
Win7‚ª‚¿‚á‚ñ‚Æ“®‚­ŠÂ‹«‚È‚çWPF‚Í•’Ê‚É“®‚­
•³ƒ{ƒ‚¢PC‚ÅŠJ”­A•³ƒ{ƒ‚¢PC‚ÅŽg—p‚Á‚Ä‚¢‚¤‚È‚ç.net‚ÌŽg—pŽ©‘Ì‚ðl‚¦’¼‚µ‚½•û‚ª‚¢‚¢‚ñ‚¶‚á
ø‚肶‚á‚È‚­
C#(.net)‚ªo‚½“–Žž‚È‚ñ‚Ä‚à‚Á‚ƃ{ƒƒJƒX‚É’@‚©‚ê‚Äu’N‚ªŽg‚¤‚ñ‚¾‚æwv‚Æ‚©Œ¾‚í‚ê‚Ä‚½‚ª
ƒn[ƒh‚Ìi‰»‚Å¡‚ÍŒy‚¢•û‚¾‚ÆŽv‚¤‚¯‚Ç‚È[
Windowƒ}ƒl[ƒWƒƒ‚ªGPUŽg‚Á‚Ă鎞‘ã‚É’†g‚̃c[ƒ‹ƒLƒbƒg‚¾‚¯ƒŒƒKƒV[‚ÉS‚Á‚Ä‚à‚Ë‚¥
Windows7‚Á‚½‚çA–¢‚¾‚ÉVistaˆÈ‰º‚̃VƒFƒA‚¾‚ºwwwww
‚¿‚È‚Ý‚ÉAXP 62.55%AVista 15.25%A7 12.68% (NetApplications May, 2010)B
‚¢‚‚ɂȂÁ‚½‚烃Wƒƒ[‚É‚È‚é‚ñ‚¾‚낤‚©‚ÈH
V‚µ‚¢ƒn[ƒh‚Ì«”\‚ðŠˆ‚©‚³‚È‚¢‚Æ‚à‚Á‚½‚¢‚È‚¢‚©‚猩‚½–Ú‚ð‚¿‚å‚Á‚Æ‹‰Ø‚É‚µ‚悤‚Á‚Ä‚¢‚¤‚¾‚¯‚¾‚ë
Œ©‚½–Ú‚ª‚Ç‚¤‚Å‚à‚¢‚¢‚ñ‚¾‚Á‚½‚çWindows95Žž‘ã‚ÌŠiDˆ«‚¢UI‚Åì‚Á‚Ä‚ê‚΂¢‚¢
¡‚ÌWinForms‚ÌŒ©‚½–Ú‚¾‚Á‚Ä””NŒã‚É‚ÍŒÃL‚­‚ÄŠiDˆ«‚¢‚Æ”FŽ¯‚³‚ê‚é‚悤‚É‚È‚Á‚Ä‚é‚æ
64bit‚‚©‚¤‚Å–³‚¢ŒÀ‚è‚â‚Á‚Ï‚èXP‚¾‚æ‚ÈB
ƒƒNƒ`ƒ“ƒ\ƒtƒg‚̑Ήž‚³‚¦‚ ‚ê‚ÎXP64bitŽg‚¢‚½‚¢‚ñ‚¾‚ªB
‚Ü‚¾ƒTƒ|[ƒgŠúŠÔŽc‚Á‚Ă邵A‚µ‚΂炭‚ÍXP‚ª—D¨‚Å‚µ‚åB
‚Ü[‚Å‚àA‚±‚±1`2”N‚ő啪•Ï‚í‚é‚ÆŽv‚¤‚¯‚ÇB
‚ ‚Ì‚V‚ÌGUI‚Ìo—ˆ‚͉–₾‚æƒ}ƒW‚ÅB
‚Å‚àAŽ©•ª‚à 12.68% ‚̈êˆõ‚È‚ñ‚¾‚¯‚ÇEEE‚â‚Á‚ÏŽg‚¢‚Â炢‚íƒRƒŒB
ˆê”N‹ß‚­Žg‚Á‚Ä‚Ä‚àƒCƒ‰ƒCƒ‰‚·‚éB
>>823
‚æ‚­‚í‚©‚ç‚ñ‚ª64bit7‚ŃƒNƒ`ƒ“ƒ\ƒtƒgHƒEƒBƒ‹ƒX‘Îôƒ\ƒtƒgH‚È‚çŽg‚Á‚Ä‚é‚æ
>>821
—ðŽj‚ÉŠw‚×
‚Ç‚ÌOS‚àƒƒWƒƒ[‚É‚È‚é‚Ì‚É””N‚©‚©‚Á‚Ä‚é
SP‚ª2‚ɂȂ頂ɂ̓VƒFƒAˆêˆÊ‚É‚È‚Á‚Ä‚é
>>828
‚Å‚ÍAVista‚à‚»‚ë‚»‚냃Wƒƒ[‚ÉI
’·”NXP‚ðŽg‚Á‚Ä‚¢‚½‚Ì‚Å7‚ÅŠµ‚ꂪ•K—v‚È‚Ì‚ÍŠm‚©‚ɔς킵‚¢
‚ªA‚ ‚é’ö“x‚̃XƒyƒbƒN‚È‚ç‚ÎXP‚æ‚è‰õ“K‚¾‚¼
XP~‚¾‚Á‚½‚Ì‚É‘f’¼‚É~ŽQ‚µ‚½
‚Ç‚Ì•Ó‚ªŽg‚¢‚Â炢‚ÌH •’Ê‚É•Ö—˜‚ÉŽg‚Á‚Ă邯‚Ç‚È‚ŸB
‰SŽÒ‚È‚ç‚Æ‚à‚©‚­ƒvƒƒOƒ‰ƒ}‚Å‚µ‚å? ˆê”Êl‚©‚猩‚½‚çPCƒEƒBƒU[ƒh‚Å‚µ‚å?w
ƒJƒXƒ^ƒ}ƒCƒY‚µ‚½‚èƒVƒ‡[ƒgƒJƒbƒgƒL[Žg‚Á‚½‚è•â•ƒc[ƒ‹Žg‚Á‚½‚肵‚Ä‚½‚çŽg‚¢ŸŽè‚È‚ñ‚©‘S‘R•Ï‚í‚ç‚È‚¢‚æ
>>827
‚V‚Ì64bit”ł̓ƒNƒ`ƒ“ƒ\ƒtƒg‚̑Ήž—L‚邯‚ÇAXP‚Ì64bit”ł̑Ήž‚ª–³‚¢‚ñ‚¾‚æB
‚ÅA‹ƒ‚­‹ƒ‚­‚V‚Ì64bit”ÅŽg‚Á‚Ä‚éB
‚±‚±‚̓hƒU”‚©‚—
‚¢‚­‚ç‚Å‚à‚ ‚邾‚ë‚æEEEB
‚±‚ꂪîŽã‚Á‚Ä‚â‚‚©EEEB
ƒc[ƒ‹ƒo[‚ɃXƒ^[ƒgƒƒjƒ…[ì‚Á‚Ă邪Œ³X‚̃Xƒ^[ƒg‚ªŽ×–‚B
ƒ‰ƒCƒuƒ‰ƒŠ‚ª•‚«‚©‚¹‚·‚¬B
‚¨‚Ü‚¯‚ɃNƒŠƒbƒN‚·‚é‚ÆuƒAƒNƒZƒX‚ª‹‘”Û‚³‚ê‚Ü‚µ‚½v‚ȃtƒHƒ‹ƒ_‘å™B
ƒGƒNƒXƒvƒ[ƒ‰‚ŃtƒHƒ‹ƒ_ŠJ‚­‚ƃtƒHƒ‹ƒ_‚̃cƒŠ[‚ÅŒ»Ý‚̃tƒHƒ‹ƒ_‚ª‚È‚º‚©ˆê”Ô‰º‚ɃXƒNƒ[ƒ‹B“Š‚°”ò‚΂µ‚½‚­‚È‚éB
ŽžXAƒfƒXƒNƒgƒbƒv‚Édesktop.ini‚ª‹À‚Á‚Äíœo—ˆ‚È‚¢B
ƒz[ƒ€ƒOƒ‹[ƒvƒAƒCƒRƒ“AƒŒƒWƒXƒgƒŠ˜M‚Á‚ăfƒXƒNƒgƒbƒv‚©‚çÁ‚µ‚Ä‚àÁ‚µ‚Ä‚à‚¢‚‚̂܂ɂ©•œŠˆB
USBƒƒfƒBƒA”²‚«·‚µ‚µ‚Ä‚é‚ÆUSBƒAƒCƒRƒ“‚ªÁ‚¦‚éB‚Ü‚¾‚à‚¤ˆê–{Žh‚³‚Á‚Ă邾‚낪‚ŸI
‚±‚ê‚Í‘Š«‚Ì–â‘è‚©‚à‚µ‚ê‚È‚¢‚ª‹xŽ~‚©‚ç–ß‚é‚ÆNIC‚ª‚¾‚ñ‚Ü‚è‚·‚éŠm—¦‚‚µB
ƒZƒLƒ…ƒŠƒeƒB‚Ì–â‘è‚È‚Ì‚©’m‚ç‚È‚¢‚ªA‹ŒŒ^‚ÌTeraStation‚ÆŒq‚®‚Æ‚«‚ɂ̓Oƒ‹[ƒvƒ|ƒŠƒV[‚ÅNTLM‰ž“š‚Ì‚Ý‘—M‚É‚µ‚È‚¢‚Æ‚È‚ç‚È‚¢B
‚Í‚Ÿ‚Í‚ŸEEE‘¼‚É‚àFX‚ ‚è‚·‚¬‚ÄEEEŽv‚¢•Ô‚·‚Æ’iX• ‚ª—§‚Á‚Ä‚«‚½B
‚¨‘O‚ÍŽ€‚Ê‚Ü‚ÅXPŽg‚Á‚Æ‚¯‚æ‚—
‚Ó‚ c‚Ó
‚Vã‚Ì‚à‚Ì‚È‚ç‚¢‚¢‚¯‚ÇAXPE‚Æ‚©Embedded—pXP‚ÌŠJ”­‚àŒ‹\‚ ‚é‚Ì‚æ‚ËB
‚Ü‚¾5”NˆÈãMS‚̃Tƒ|[ƒg‚à‚ ‚é‚킯‚¾‚µB
‚±‚±‚ç•Ó‚Í‚¤‚Ü‚­Žg‚¢•ª‚¯‚È‚¢‚Æ‚ÈB
VPC‚Á‚Ä”÷–­‚É‚ß‚ñ‚Ç‚­‚³‚¢‚©‚猋‹Ç‚ׂ͗Ɍ¢PC‚ð’u‚¢‚ÄXP“ü‚ê‚ăeƒXƒgê—p‚É‚µ‚Ä‚é‚í
VPC‚Á‚Ä”÷–­‚É‚ß‚ñ‚Ç‚­‚³‚¢‚©‚猋‹Ç‚ׂ͗Ɍ¢PC‚ð’u‚¢‚ÄXP“ü‚ê‚ăeƒXƒgê—p‚É‚µ‚Ä‚é‚íIIIII
>>832
ƒGƒNƒXƒvƒ[ƒ‰‚ÌAlt>F>W‚ªAlt>F>X‚É•ÏX‚³‚ê‚Ä‚½‚肵‚Ä‚Ä‚¾‚ÈB
‚·‚®Šµ‚ê‚é‚ñ‚¾‚¯‚Ç‚³B
>>837
‚Ü‚ AUI‚Ì‘€ì«‚ÍŠm‚©‚ɓ‘½‚¢B
’P‚Ȃ銵‚ê‚Ì–â‘è‚ÆŒ¾‚¢Ø‚ê‚È‚¢‰üˆ«“_‚ª‚¢‚ë‚¢‚ë‚ ‚é‚Ƃ͉´‚àŽv‚¤B
ň«‚È‚Ì‚ªƒtƒ@ƒCƒ‹ŒŸõ‚̉üˆ«B

‚¾‚ªA
„‚¨‚Ü‚¯‚ɃNƒŠƒbƒN‚·‚é‚ÆuƒAƒNƒZƒX‚ª‹‘”Û‚³‚ê‚Ü‚µ‚½v‚ȃtƒHƒ‹ƒ_‘å™B
‚±‚ñ‚È•¶‹å‚‚ê‚él‚̓VƒXƒeƒ€ƒtƒHƒ‹ƒ_‚ð‰B‚³‚È‚¢Ý’è‚É‚µ‚¿‚áƒ_ƒ‚¾‚ëw
7‚ÍXP‚æ‚è‚àˆÀ’肵‚Ä‚é‚©‚ç‚¢‚ê‚Ä‚é‚È
ƒtƒ@ƒCƒ‰[Žg‚¤‚©‚ç7“Á—L‚ÌUI‚Æ‚©ŠÖŒW‚È‚µ
OS‚͈À’肳‚¦‚µ‚Ä‚ê‚΂¢‚¢‚æ
‚È‚ç2000‚Å‚¢‚¢‚¶‚á‚ñB
ƒtƒ@ƒCƒ‰[‚È‚ñ‚ÄŽ€Œê‚¾‚ÆŽv‚Á‚Ä‚½w
‚Á‚Ä‚¢‚¤‚©AŽg‚¦‚éƒtƒ@ƒCƒ‰‚ ‚éH

Avesta‚Æ‚©Žg‚¢‚É‚­‚¢‚µAUltraExplorer‚ÍŠú‘Ò‚µ‚Ä‚½‚ªŒ‹‹Ç•ú’uó‘Ԃ̂悤‚¾‚µ
>>846
ƒ}ƒ‹ƒ`CPU‚ɑΉž‚µ‚Ä‚È‚¢
ƒTƒ|[ƒgØ‚ê‚ăZƒLƒ…ƒŠƒeƒBŽ€‚ñ‚Å‚é
.Net4‚ª“ü‚ç‚È‚¢
ƒXƒŠ[ƒv‚ªI‚í‚Á‚Ä‚é
ƒpƒtƒH[ƒ}ƒ“ƒXˆ«‚¢
ˆÀ’è‰]XˆÈ‘O‚ɘ_ŠO‚Å‚·

>>847
UltraExplorer•—‚Ì‚à‚Ì‚ðdelphi‚Åì‚Á‚½‚©‚ç‚»‚êŽg‚Á‚Ä‚é
‚±‚±ƒhƒU”‚©‚ÆŽv‚Á‚½w
>>847
x-finderŽg‚Á‚Ä‚éB‹É‹H‚É—Ž‚¿‚邯‚Ç‹C‚É‚È‚ç‚È‚¢ƒŒƒxƒ‹BWin7pro64bit
>>849
‚ ‚肪‚ÆŒã‚ÅŽŽ‚µ‚Ä‚Ý‚éB
>>844
—Ⴆ‚Î SendToB
ŽÀÛ‚Í SendTo ‚Í C:\Users\{ƒ†[ƒU}\AppData\Roaming\Microsoft\Windows\SendTo
‚È‚ñ‚¾‚¯‚ÇA‰½ŒÌ‚© C:\Users\{ƒ†[ƒU}\SendTo ‚ªˆÓ–¡‚à‚È‚­‘¶Ý‚µ‚ăAƒNƒZƒX•s”\B
‚±‚ñ‚È•Ï‚È‚à‚Ì‚ª‚ ‚Á‚Ä‚àA‰B‚ê‚Ä‚¢‚½‚ç—Ç‚¢‚Æ‚©Œ¾‚¦‚é‚Ì‚©H
>>851
>‰½ŒÌ‚© C:\Users\{ƒ†[ƒU}\SendTo ‚ªˆÓ–¡‚à‚È‚­‘¶Ý‚µ‚ăAƒNƒZƒX•s”\B
‚¤‚¿‚̃Zƒuƒ“‚¿‚á‚ñ‚É‚Í‚ ‚è‚Ü‚¹‚ñ
>>851
ŽÀÛ‚ÍiŠÇ—ŽÒŒ ŒÀ‚È‚çjƒAƒNƒZƒXŒ ‚ð‚¿‚á‚ñ‚ÆÝ’è‚·‚ê‚΃AƒNƒZƒX‚Å‚«‚é‚ñ‚¾‚¯‚Ç‚³B
‚Ü‚ AƒAƒNƒZƒX‚ð§ŒÀ‚³‚ê‚é‚Ì‚ÉuŠÇ—ŽÒv‚Á‚Ä–¼‚΂©‚è‚Ȃ͉̂½‚È‚ÌA
‚Á‚Ä“Ë‚Áž‚Ý‚½‚¢‹CŽ‚¿‚͉´‚à•ª‚©‚邯‚Çw
M—p‚Å‚«‚éŠÇ—ŽÒ‚ɑ΂·‚駌À‚Í­‚È‚¢‚ñ‚¾‚æB‚—
7‚ÅŠð‚µ‚©‚Á‚½‚Ì‚Í‘¶Ý‚µ‚È‚¢ƒlƒbƒgƒ[ƒN‚̃pƒX‚̃tƒ@ƒCƒ‹‚ɃAƒNƒZƒX‚µ‚悤‚Æ‚µ‚Čł܂Á‚Ä‚àƒvƒƒZƒX‚ÍŽE‚¹‚é‚悤‚É‚È‚Á‚½B
Vista‚܂ł̓^ƒCƒ€ƒAƒEƒg‚·‚é‚܂ŃvƒƒZƒX‚ðŽE‚·‚±‚Æ‚·‚ç‚Å‚«‚È‚©‚Á‚½B
Vista‚©‚çAPI’ljÁ‚³‚ê‚đΉž‚µ‚½‚ÆŽv‚Á‚Ä‚½‚Ì‚ÉVista‚Å‚à’ljÁ‚µ‚½API‚ðŽg‚Á‚Ä‚È‚¢‚Ì‚©ŽE‚¹‚È‚©‚Á‚½‚È‚Ÿc
”•SŒÂ‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚½‚¾‚¯‚ŃGƒNƒXƒvƒ[ƒ‰‚ª—Ž‚¿‚éŽd—l‚ÍvistaˆÈ~‰ðÁ‚³‚ꂽ‚ÌH
‚±‚ÌŽd—l‚Ì‚¹‚¢‚Å”•SŒÂ‚̃tƒ@ƒCƒ‹‚Ì“ü‚Á‚Ä‚éƒtƒHƒ‹ƒ_‚ð•ÊƒtƒHƒ‹ƒ_‚Ɉړ®‚·‚鎞‚ÉŽè“®‚Å50ŒÂ‚­‚ç‚¢‚¸‚ˆړ®‚µ‚È‚­‚¿‚á‚¢‚¯‚È‚­‚Ä•s•ÖB
>>856
—Ž‚¿‚é‚Æ‚È‚é‚Æ‚Þ‚µ‚ë•Ï‚ȃVƒFƒ‹Šg’£‚Æ‚©‚ª“ü‚Á‚Ä‚éŠÂ‹«‚¶‚á‚È‚¢‚©‚Æ‹^‚¢‚½‚­‚È‚é‚È‚ŸB
XP‚Å‚à”•S‚­‚ç‚¢‚̃tƒ@ƒCƒ‹”‚Æ‚¢‚¤‚©‚½‚¾ƒtƒ@ƒCƒ‹‚ª‘½‚¢‚Æ‚¢‚¤ó‹µ‚Å—Ž‚¿‚½‚±‚Æ‚È‚ñ‚Ä‘S‘R‚È‚¢B
‚»‚ê‚Å‚àVistaˆÈ~‚̃GƒNƒXƒvƒ[ƒ‰‚̈À’芴‚ÍXP‚Æ‚Í”ä‚ׂà‚Ì‚É‚È‚ç‚È‚¢‚ÆŽv‚¤‚æB

‚Å‚àAVista‚̃GƒNƒXƒvƒ[ƒ‰‚Í7‚ðG‚Á‚½‚ ‚Æ‚Å‚Í‘€ì«‚ª‚¢‚ë‚¢‚ëƒNƒ\‚·‚¬‚Ä‚à‚¤G‚é‹C‚ª‹N‚«‚È‚¢‚Ì‚Å7‚ª‚¨Š©‚ß‚¾‚È‚ŸB
VistaˆÈ~‚ʼnðÁ‚³‚ꂽ‚Ì‚©H‚Á‚Ä‚±‚Æ‚ÍAVista‚æ‚è‚à‘O‚ÌOS‚Å‚¨‚¿‚é‚Á‚Ä‚±‚Æ‚¾‚æ‚ËB
Me‚Í’m‚ç‚ñ‚ªA2000AXP‚Å‚Í“–‚½‚è‘O‚̂悤‚É1000ƒtƒ@ƒCƒ‹‚®‚ç‚¢‘I‘ð‚µ‚Ä‚¢‚½‚æB
ƒtƒ@ƒCƒ‹‚ÌŽí—Þ‚É‚à‚æ‚é‚ñ‚¾‚ë‚©B
XP‚¾‚ƃtƒ@ƒCƒ‹‚ð1000ŒÂƒRƒs[‚µ‚悤‚Æ‚µ‚ăvƒ`ƒtƒŠ‚µ‚ÄuŽc‚è 192839•ªv‚Æ‚©‚µ‚å‚Á‚¿‚イŒ©‚邯‚Ç‚È‚ 
‚»‚ê‚Í
> ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚ð‘I‘ð‚µ‚½‚¾‚¯‚ŃGƒNƒXƒvƒ[ƒ‰‚ª—Ž‚¿‚é
‚Ɖ½‚©ŠÖŒW‚ªH
Œ‹‹Çƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚É•¶‹åŒ¾‚Á‚Ä‚é“z‚ÍŽg‚¢•û’m‚ç‚È‚¢‚¾‚¯‚È‚ñ‚¶‚á‚Ë‚¥‚©A‚Æ‹^‚¢‚½‚­‚È‚é‚È[B
•’Ê‚ÉForm‚ðŒp³‚µ‚½MyForm‚Æ‚©TextBox‚ðŒp³‚µ‚½MyTextBox‚Ý‚½‚¢‚È‚ÌŽg‚¤‚æ‚ÈH
ƒfƒUƒCƒiã‚Å•’Ê‚É“®‚­‚µEEE
‚Ü‚ ‚È‚—
ƒ†[ƒUƒRƒ“ƒgƒ[ƒ‹‚‚©‚Á‚ăoƒCƒ“ƒh
“à•”‚ÅDIŽg‚Á‚½XVˆ—‚Æ‚©’´Šy‚¿‚ñ‚¾‚Á‚½

‰ß‹ŽŒ`‚È‚Ì‚Í¡‚ÍWPF‚â‚Á‚Ä‚é‚©‚çI
‚È‚ñ‚¹‚à‚Á‚Æ’´Šy‚¿‚ñ‚Û‚ñ‚È‚Ì‚¾I
>>810
808‚Å‚·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‚¿‚å‚Á‚ÆŒŸõ‚µ‚Ä‚Ý‚Ü‚·B
>>851
‚»‚ê‚ç‚ÍXPˆÈ‘O‚̃oƒbƒNƒAƒbƒvŒnƒAƒvƒŠ‚̌݊·«‚Ì‚½‚ß‚ÉÝ‚¯‚ç‚ꂽƒWƒƒƒ“ƒNƒVƒ‡ƒ“B
Vista‚â2008‚ÌŽž‚É‘›‚®‚È‚ç‹–‚¹‚邪A¡X‰ß‚¬‚é‚Ì‚Å‹–‚³‚È‚¢B
‚±‚ÌîŽãŠJ”­ŽÒ‚ªI
>>861
‚Ü‚ ‚»‚¤‚¢‚¤‚̂̓hƒgƒlƒg‚Ì—pŒê‚Å‚ÍuƒJƒXƒ^ƒ€ƒRƒ“ƒgƒ[ƒ‹v‚È‚ñ‚¾‚¯‚Ç‚Ëw

’N‚àuƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚É•¶‹åvŒ¾‚Á‚Ä‚é“z‚È‚ñ‚Ä‚¢‚È‚¢‚ÆŽv‚¤‚ªA
u‰´‚̓fƒUƒCƒi‚̃oƒO‚È‚ñ‚©‘˜‹ö‚µ‚Ä‚±‚Æ‚Ë‚¦‚æv‚Á‚ÄŒ¾‚¢‚½‚¢‚È‚çA
‚¾‚©‚ç‚»‚è‚á’´ƒVƒ“ƒvƒ‹‚ȃRƒ“ƒgƒ[ƒ‹‚µ‚©ì‚Á‚Ä‚È‚¢‚©‚炾‚æ
ÄŒ»«‚Ì‚ ‚éƒpƒ^[ƒ“‚ð’ñŽ¦‚·‚ê‚ÎI‚í‚é˜b‚È‚Ì‚ÉB
ƒoƒOƒŒƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚Ì‚©A‚µ‚½‚¯‚ê‚ǃoƒO‚Æ‚µ‚Ä”FŽ¯‚³‚ê‚È‚©‚Á‚½‚Ì‚©B
if (DesignMode)‚ð“KØ‚ÉŽg‚¦‚Ήñ”ð‚Å‚«‚é(‚Æ‚¢‚¤‚æ‚莩•ª‚ŃGƒ‰[‚ðì‚Á‚Ä‚¢‚é)‚Æ‚©
>>866
ƒoƒO‚é˜b‚Í‚æ‚­•·‚­‚©‚ç–{“–‚É‚ ‚é‚ñ‚¾‚낤‚ËB
‰´‚Í‚È‚Á‚½‚±‚Æ‚È‚¢‚©‚ç‚Ç‚¤‚Å‚à‚¢‚¢‚¯‚ÇB
‚ÅA˜_“_‚¸‚炵‚ĉ½‚ª‚¢‚¢‚½‚¢H
‚à‚Á‚Æ‚½‚­‚³‚ñŽg‚Á‚½‚ç‚ ‚È‚½‚É‚à•ª‚©‚é‚æA‚Æ‚¢‚¤‚±‚Æ‚ðŒ¾‚¢‚½‚¢‚ñ‚¾‚낤‚æB
‚ ‚éˆÓ–¡ŒÛ•‘‚µ‚Ä‚­‚ê‚Ä‚é‚ñ‚¶‚á‚ËH
‚à‚Á‚ÆŽg‚¢ž‚ß‚æI‚ÆB

–³‚¢•¨‚ðƒS[ƒ‹‚É’u‚­‚Æ‚©‚â‚èŽè‚¾‚í‚Ÿ
ƒrƒbƒg‰‰ŽZ‚ð•\‚µ‚½ƒCƒ“ƒ^[ƒtƒF[ƒX‚Í‚ ‚è‚Ü‚·‚©H
‚È‚¢
‚ñ‚ÅAVista‚Í‚¢‚ƒƒWƒƒ[‚É‚È‚éEEE‚¶‚á‚È‚­‚ÄAWPF‚ªd‚½‚¢PC‚ª‚¢‚‚²‚ë‚Ü‚Å
‹À‚é‚©‚ª–â‘肾B
‚Ç‚ÌPC‚Å‚à“®‚©‚»‚¤‚Á‚Ä‚¢‚¤ƒAƒvƒŠ‚ð‘g‚Þ‚È‚çA‚ ‚Æ””N‚ÍForms‚©‚È‚ŸB
‚Ü‚ A‚¢‚¸‚ê‚É‚µ‚뎞ŠÔ‚Ì–â‘肾‚낤‚¯‚ÇB

>>873
System.Collections.BitArray ‚È‚ñ‚©‚Í‚Ç[‚¾‚낤H
¡‚ÌPC‚Å–â‘è‚È‚­“®‚­ƒAƒvƒŠ‚µ‚©‚È‚¢‚Ȃ甃‚¢Š·‚¦‚È‚­‚ÄÏ‚Þ‚©‚ç‚ËB
d‚½‚¢ƒAƒvƒŠ‚ðì‚é‚ׂ«B–³‘Ê‚Éd‚½‚¢‚Ì‚Å‚Í‚È‚­‚Ä‚ËB
‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½‚©
ƒtƒ‰ƒOˆµ‚¢‚Ìenum‚ðŠÇ—‚·‚éƒWƒFƒlƒŠƒbƒNƒNƒ‰ƒX‚ð
ì‚肽‚©‚Á‚½‚ñ‚Å‚·‚ªA‰½‚©—Ç‚¢•û–@‚Í‚ ‚è‚Ü‚¹‚ñ‚©H
“ñ‚‚ð‚Ü‚Æ‚ß‚½’l‚ðƒ`ƒFƒbƒNo—ˆ‚é‚È‚çhashset‚Å‚à
‚¢‚¢‚Ì‚Å‚·‚©B
>>875
‚ ‚肪‚Æ‚¤
ŽŽ‚µ‚Ä‚Ý‚Ü‚·
ƒrƒbƒg‰‰ŽZ‚ð•\‚µ‚½ƒCƒ“ƒ^[ƒtƒF[ƒX‚Á‚Ä‚Ç‚¤‚¢‚¤ˆÓ–¡‚È‚ñ‚¾‚낤w
interface IBitwise<T> {
  T BitwiseAnd(T other);
}
‚±‚ñ‚È‚ñH
>>857-859
‚ ‚êH2,300ŒÂ‚­‚ç‚¢‚Å—Ž‚¿‚é‚Ì‚Í•’Ê‚¾‚ÆŽv‚Á‚Ä‚½B
‚Ä‚©vista‚Å‚à—Ž‚¿‚½B
Šm”F‚µ‚½‚Ì‚Í98,XP,VistaB‚ ‚Æ2000‚à‚¾‚Á‚½‚©‚àB
‚»‚ꂼ‚ê‘S‚­ˆá‚¤ŠÂ‹«‚¾‚©‚ç“ÁŽê‚Ȃ킯‚¶‚á‚È‚¢‚ÆŽv‚¤‚¯‚ÇB
vista‚Í”äŠr“IV‚µ‚¢ƒm[ƒgPC‚ÅOS“ü‚ê—§‚Ä‚ÅŠm”FB
ƒtƒ@ƒCƒ‹‚Í‚»‚ꂼ‚ê‚ÌPC‚ňႤ‚¯‚ÇA“¯ˆêŽí—ނ̃tƒ@ƒCƒ‹‚Å‚à•ÊX‚ÌŽí—ނ̃tƒ@ƒCƒ‹‚Å‚àŠm”FB
>>880
‚¯‚ÇA‚»‚ê‚ɈӖ¡‚ª‚ ‚é‚Æ‚µ‚½‚çA‚ ‚éŒ^T‚Ìu˜_—˜av‚È‚çu˜_—˜av‚É
•¡”‚Ì’è‹`‚ª‚ ‚肤‚éꇂ¾‚¯‚¶‚á‚È‚¢‚Ì‚©‚ÈB

‚â‚Á‚Ï•Ï‚¾‚ÆŽv‚¤‚¯‚Ç‚Èw
>>869
‚Ü‚³‚µ‚­ƒ†[ƒU[ƒRƒ“ƒgƒ[ƒ‹‚Å‚¤‚Ü‚­“®‚©‚È‚¢—Ⴖ‚á‚È‚¢‚©B
VS2008ˆÈ‘O‚̃fƒUƒCƒi‚̃oƒO‚¤‚ñ‚Ê‚ñ‚̘b‚Á‚Ä
ŠJ‚¢‚½’¼Œã‚Í“Á‚É–â‘è‚È‚­‚Ä‚µ‚΂炭‚È‚É‚©‚µ‚Ä‚é‚Æd‚­‚È‚Á‚Ä‚­‚é
’iXƒRƒ“ƒeƒLƒXƒgƒƒjƒ…[‚ª‘I‘ð‚Å‚«‚È‚­‚È‚Á‚½‚èŒÅ‚Ü‚Á‚½‚è
ƒp[ƒc‚ªÁ‚¦‚½‚è’†g‚ª•\Ž¦‚³‚ê‚È‚­‚È‚Á‚Ä‚¢‚­
‚Å‚àƒfƒUƒCƒi•Â‚¶‚ÄŠJ‚«‚È‚¨‚·‚Æ‚µ‚΂炭‚Í‚Ü‚½•’Ê‚ÉŽg‚¦‚é
ƒR[ƒh‚ªˆ«‚¢‚Æ‚©‚¢‚¤ˆÈ‘O‚Ì•Ï‚È“®ì‚Ì‚±‚Æ‚¾‚ëH
‚ ‚é2‚‚̃tƒHƒ‹ƒ_ŠÔ‚Å“¯‚¶ƒtƒ@ƒCƒ‹–¼‚©‚ÂXV“úŽž‚ªV‚µ‚¢‚à‚Ì‚ðLINQ‚Ŏ擾‚µ‚½‚¢‚Å‚·B
IEqualityComparer<FileInfo>‚ðŒp³‚µ‚½MyCompare‚ðŽg‚Á‚ÄExcept‚µ‚½‚Ì‚Å‚·‚ª‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñB
GetHashCode()‚Å return 1;‚È‚Ç’è‚Ü‚Á‚½’l‚ð•Ô‚¹‚΂¤‚Ü‚­‚¢‚­‚Ì‚ÅAGetHashCode()‚ÌŽÀ‘•‚ªˆ«‚¢‚Ì‚©‚ÆŽv‚¢‚Ü‚·B
‚µ‚©‚µAƒIƒuƒWƒFƒNƒg‚ðˆêˆÓ‚É“Á’è‚·‚邽‚߂̃ƒ\ƒbƒh‚È‚Ì‚¾‚©‚ç‚»‚¤‚¢‚Á‚½ŽÀ‘•‚ÍŠÔˆá‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·B

‚à‚µ‚©‚µ‚½‚ç‘S‘RŠ¨ˆá‚¢‚ð‚µ‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA‚Ç‚È‚½‚©•‚¯M‚ð‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
ƒ\[ƒXFhttp://ideone.com/Ttea4
Equals(a, b)‚ªtrue‚Ì‚Æ‚«AGetHashCode(a)‚ÆGetHashCode(b)‚Í“¯‚¶’l‚ð•Ô‚³‚È‚¢‚Æ‚¢‚¯‚È‚¢B
ƒnƒbƒVƒ…‚ÌŒvŽZ‚Ƀtƒ‹ƒpƒXŽg‚Á‚Ä‚¿‚áA
ƒtƒ@ƒCƒ‹–¼‚ÆXV“ú‚ª“¯‚¶‚Ȃ̂ɃtƒHƒ‹ƒ_‚ªˆá‚Á‚½‚çˆá‚¤’l‚É‚È‚éB

‚»‚êˆÈ‘O‚É·W‡‚¶‚áƒ_ƒ‚¶‚á‚È‚¢‚©H
887 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/24(–Ø) 10:32:57
GetHashCode‚Åreturn 1‚͊ԈႢ‚¶‚á‚È‚¢‚æ
ˆêˆÓ‚Å‚ ‚é•K—v‚Í‚È‚¢
>>885
‚Æ‚è‚ ‚¦‚¸“š‚¦‚邪AŠÔˆá‚¢‚ÌŽw“EˆÈŠO‚ÌŽ¿–â‚͎󂯕t‚¯‚È‚¢

// 'a : new { string DirectoryName, string FileName, DateTime ModifiedTime }
// files1 : IEnumerable<'a>
// files2 : IEnumerable<'a>

from f1 in files1
join f2 in files2 on f1.FileName equals f2.FileName
select (f1.ModifiedTime >= f2.ModifiedTime) ? f1 : f2
>>888
LINQ‚‚©‚¤‚ƃXƒQ[’Z‚­‚©‚ê‚é‚ñ‚¾‚ÈB
‚±‚è‚áŠo‚¦‚½‚Ù‚¤‚ªŽdŽ–‚ª‚ç‚­‚É‚È‚é‚ÈB
‚¾‚ê‚©A–l‚ÉVisualStudio2008StandardEdition‚𔃂Á‚Ä‚­‚¾‚³‚¢i„ƒGj
‚µ‚©‚µŒ^„˜_‚ª‚‚¢‚Ä‚Ü‚í‚é‚©‚çA“Ç‚ñ‚ł邤‚¿‚ɂ킯‚í‚©‚ßB
ƒR[ƒh‚ðŽ©ŒÈƒŒƒrƒ…[‚·‚éۂɬ—‚µ‚Ä‚«‚Äu‚à[‚¢‚¢‚âA‘åä•vA³‚µ‚¢v‚É‚È‚ç‚ñ‚©‚ÆS”zB
‚·‚Å‚ÉŠ÷ã‚ł̃Œƒrƒ…[‚͈╨‚ÅAIDE•K{‚È‚Ì‚©EEE
’Z‚­‚ÄA‰Â“Ç«‚à‚‚¢‚È‚çA‚»‚ê‚Å‚¢‚¢‚ñ‚¾‚낤‚¯‚Ç‚Ë
>>892
”ƒ‚Á‚Ä‚­‚¾‚³‚¢i„ƒGj
>>891
Œ^‚𖾎¦‚µ‚Ä‚à‚¢‚¢‚Ì‚æH
>>888‚¾‚Á‚Ä“½–¼Œ^a'‚É‚µ‚Ă邯‚ÇFileInfo‚Å‚¢‚¢‚µ
from FileInfo f1 in ... ‚Æ‚© join FileInfo f2 in ... ‚Æ‚©‘‚¯‚邵
•s—v‚Èî•ñ‚𜋎‚µ‚ĈÓ}‚𖾊m‚É‚·‚é‚Ì‚à‘åØ
­‚È‚­‚Æ‚à>>888‚ðLINQŽg‚킸‚É‘‚¢‚Ä‚à•ª‚©‚è‚â‚·‚­‚Í‚È‚ç‚È‚¢‚ÆŽv‚¤‚æ
>>894
‚»‚ê‚̓_ƒ‚¶‚á‚È‚¢‚©‚ÈB
‚»‚ÌŒ`‚Å‚ÌŒ^‚Ì–¾Ž¦‚̓LƒƒƒXƒg‚¾‚©‚çB
>>886-887
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
GetHashCode‚Ì“®‚«‚ð‘S‚­Š¨ˆá‚¢‚µ‚Ä‚¢‚Ü‚µ‚½B
ƒ}ƒ‹ƒ`Ž¿–â‚È‚Ì‚ÉeØ‚É‚¨“š‚¦’¸‚¢‚Ä‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
FullName‚ðName‚É‚·‚é‚ÆŠú‘Ò’Ê‚è‚Ì“®‚«‚É‚È‚è‚Ü‚µ‚½B

>>888
Œão‚µ‚Å\‚µ–ó‚ ‚è‚Ü‚¹‚ñ‚ªAWhere‚ðŽg—p‚µ‚½‰ðŒˆ•û–@‚É‚Í‚½‚Ç‚è‚‚¢‚Ä‚¢‚Ü‚µ‚½B
‚Æ‚à‚©‚­‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
LINQ‚ÌŽã“_‚̓uƒŒƒCƒNƒ|ƒCƒ“ƒg’u‚¢‚ăfƒoƒbƒK‚Å’Ç‚¦‚È‚¢Ž–
–{Ž¿“I‚É‚Íó‘Ô‚ðŽ‚½‚È‚¢‚Í‚¸‚¾‚©‚çƒXƒeƒbƒvŽÀs‚Å‚«‚é‚Ì‚Í–{—ˆ‚¨‚©‚µ‚¢
LINQ‚Á‚ÄŒp³‚Æ‚©o—ˆ‚é‚ÌH
>>900
’†g‚ÍŠg’£ƒƒ\ƒbƒh‚¾‚æB
902 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/24(–Ø) 22:43:37
‘S‚ẴRƒ“ƒgƒ[ƒ‹‚ÍAControls”z—ñ‚ÉŽ©“®“I‚ÉŠi”[‚³‚ê‚Ü‚·‚æ‚ËB
‚»‚ê‚ÅA
‚ ‚éƒRƒ“ƒgƒ[ƒ‹‚ªA‘S‘Ì‚ÌA‚ÆŒ¾‚¤‚©A
‚»‚̃vƒƒOƒ‰ƒ€“à‚ÌControls”z—ñ‚Ì’†‚Ì
‰½”Ô–Ú‚É‚È‚Á‚Ä‚¢‚é‚Ì‚©‚ð”»•Ê‚·‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©H
ƒvƒƒOƒ‰ƒ€‚©‚çB
> ‚»‚̃vƒƒOƒ‰ƒ€“à‚ÌControls”z—ñ‚Ì’†‚Ì
eƒRƒ“ƒeƒi‚ÌControls‚É“ü‚Á‚Ă邾‚¯‚ÅAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘S‘̂̈ê‚‚̃RƒŒƒNƒVƒ‡ƒ“‚È‚ñ‚Ä•¨‚Í–³‚¢‚Í‚¸‚¾‚ª
904 F762F2010/06/24(–Ø) 22:54:40
>>901
Šg’£ƒƒ\ƒbƒh‚Å‚È‚­‚Ä‚à\‚í‚È‚¢‚æBƒCƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh‚Å‚à‚¢‚¢B
from x in hoge where x < 10 select x ‚Í’P‚ÉŒ`Ž®“I‚É
hoge.Where(x => x < 10).Select(x => x);
‚ƉðŽß‚³‚ê‚éBHoge‚ÉWhere‚Æ‚¢‚¤–¼‘O‚̃Cƒ“ƒXƒ^ƒ“ƒXƒƒ\ƒbƒh‚ª‚ ‚ê‚΂»‚ꂪŒÄ‚Ño‚³‚ê‚邵A
Šg’£ƒƒ\ƒbƒh‚ªŒÄ‚Ño‚³‚ê‚邱‚Æ‚à‚ ‚éBƒ‹[ƒ‹‚Í‚»‚ꂾ‚¯B
‚·‚Ü‚ñ–¼‘O‚Í–Y‚ê‚Ä‚­‚ê
>>904
‚¨‚¨A‚»‚¤‚È‚Ì‚©B
ƒNƒ‰ƒX‚ÆLINQ‚ªƒCƒ“ƒ^[ƒtƒF[ƒX‚Å‚«‚È‚­‚Á‚ÄŽg‚Á‚Ä‚È‚©‚Á‚½BŽg‚Á‚Ä‚Ý‚é‹C‚É‚È‚Á‚½‚ºB
>>902
Formã‚È‚çthis.Controls<TextBox>().Select(c=>c)‚ÅTextBox‚¾‚¯‚Æ‚ê‚éB
‰½‚Ҕԕt‚¯‚é‚©‚ÍD‚«‚É‚·‚ê‚΂¢‚¢B
>>907
‚¦A‚»‚ñ‚È‚±‚Æ‚Å‚«‚é‚Ì‚©H’m‚ç‚ñ‚©‚Á‚½B‚²‚»‚²‚»

private void InitializeMe() {
var c = this.Controls<TextBox>().Select(c => c);
}

‚ñH

ƒGƒ‰[ 1 ƒvƒƒpƒeƒB 'System.Windows.Forms.Control.Controls' ‚ÍŒ^ˆø”‚ƈê‚É‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñB C:\User\VS2010\Projects\test\ControlsTest\Form1.cs 18 17 ControlsTest

‚¦[‚ÆA‚Ç[‚â‚é‚ÌH
Controls.OfType<TextBox>()‚Ì‚±‚Æ‚©‚µ‚ç[H
‚¨[A‚»‚ê‚»‚êB‚È‚é‚Ù‚ÇB
‚µ‚©‚µA
var con = this.Controls.OfType<TextBox>().Select(c => c);
foreach (Control ctr in con) {
textBox1.Text += ctr.Name + "\n";
}
‚Æ
foreach (Control ctr in this.Controls) {
if (ctr is TextBox) {
textBox1.Text += ctr.Name + "\n";
}
}
‚ÌA‚Ç‚¿‚炪•ª‚©‚è‚â‚·‚­‚ĕێ炵‚â‚·‚¢‚©‚ª–â‘肾‚ÈB

‚±‚ñ‚ȃTƒ“ƒvƒ‹‚¶‚áLINQ‚É‚Í–ð•s‘«‚È‚Ì‚©‚ÈB
foreach (TextBox t in this.Controls.OfType<TextBox>()) {
textBox1.Text += t.Name + "\n";
}
>>911
â‘ÎOfType‚¾‚Ë‚¦B
ƒlƒXƒg‚ªŒ¸‚é‚Ì‚Í—Ç‚¢‚±‚Æ‚Å‚·B
«—ˆ“I‚É’†‚ª‚ǂꂾ‚¯–c‚ç‚ñ‚Å‚¢‚­‚©‚í‚©‚ç‚È‚¢‚µB
textBox1.Text += string.Concat(from c in Controls.OfType<TextBox>() select c.Name + "\n");
>>914
Concat ‚æ‚è Join ‚Ì‚Ù‚¤‚ª‚æ‚­‚È‚¢‚©H
Join‚È‚ç––”ö‚É\n‚ð‘«‚³‚È‚­‚Ä‚¢‚¢‚©‚çA‚æ‚è‚·‚Á‚«‚è‘‚¯‚é‚ËB
‚¤‚ñ
‚¿‚È‚Ý‚ÉŠg’£ƒƒ\ƒbƒh‚Ì.Select(c => c)‚Í–³‚­‚Ä‚à‰Â‚¾‚æ‚Ë
‚»‚±‚̓ƒ“ƒ‰ƒCƒi[‚É‚±‚¾‚í‚é‚Ì‚â‚ß‚ÄA

var texts = Controls.OfType<TextBox>().Select(x => x.Name);
var joined = string.Concat(texts);
textBox1.Text = joined;

‚­‚ç‚¢‚É‚Í‚µ‚½‚¢B
‹æ؂育‚Æ‚É‘½­ˆÓ–¡‚Ì‚ ‚é•Ï”–¼•t‚¯‚ÄB
‚Æ‚¢‚¤‚©A‚±‚Ì—á‚Ìꇂ¾‚ÆAWPF Žg‚Á‚ăf[ƒ^ƒoƒCƒ“ƒfƒBƒ“ƒO‚Æ MVVM ƒpƒ^[ƒ“Žg‚Á‚Ä‰ðŒˆ‚µ‚½‚¢‚Æ‚±‚ëB
‚¤‚ñ‚»‚¤‚¾‚Ë
>>919
‚ ‚Ü‚èd—v‚Å‚È‚¢•”•ª‚ÅA—]Œv‚Ȉꎞ•Ï”‚ª‚Û‚ñ‚Û‚ño‚Ä‚­‚é‚Ù‚¤‚ªŒ™‚¾‚È‚ B
‚»‚è‚áAvar x ‚Æ‚© var temp ‚¾‚炯‚¾‚ÆŒ™‚¾‚¯‚ÇA
ˆÓ–¡‚Ì‚ ‚é–¼‘O‚ª•t‚­‚Á‚Ä‚Ì‚ª‹æØ‚è‚ðì‚é1‚‚̎wj‚¾‚ÆŽv‚¤‚Ì‚æ‚ËB
‚ñ‚¶‚á ListBox ‚Æ Label ‚Æ UserControl ‚Ì”h¶ƒRƒ“ƒgƒ[ƒ‹‚à‚æ‚낵‚­B
‚ ‚ AListBox ‚Æ UserControl ‚Í Tag ‚É String ‚ª“ü‚Á‚Ä‚¢‚é“z‚¾‚¯ALabel ‚Í
‹t‚É Text ‚ª ":" ‚ÅI‚í‚Á‚Ä‚¢‚é“z‚Æ Image ‚ª null ‚Å‚È‚¢“z‚Í‚¢‚ç‚È‚¢‚©‚ç
œ‚¢‚Ä‚¨‚¢‚Ä‚ËB
‚Æ‚©ŠÈ’P‚Å‚©‚•ª‚©‚è‚â‚·‚­C³‚Å‚«‚é‚È‚çA¡‚·‚®æŠ·‚àl‚¦‚Ă݂悤B
”ñLINQ‚Ì—á
foreach (Control ctr in this.Controls) {
bool hit = false;
if (ctr is TextBox) {
hit = true;
} else if ((ctr is ListBox) || (ctr is UserControl)) {
if (ctr.Tag is String) {
hit = true;
}
} else if (ctr is Label) {
if ((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null))) {
} else {
hit = true;
}
}
if (hit) {
listBox1.Items.Add(ctr.Name);
}
}
‚»‚ê‚ÍLINQ‚Æ‚©ˆÈ‘O‚Ì–â‘肾‚낤w
‚â‚Á‚Ă邱‚Æ‚ª®—‚Å‚«‚Ä‚È‚¢‚©‚牘‚¢‚¾‚¯
‚â‚é‚Ü‚¦‚©‚çƒMƒuƒAƒbƒv‚©H‚Æ‚©–³‘Ê‚Éø‚Á‚Ä‚Ý‚éB
ƒNƒŠƒAƒ{ƒ^ƒ“‚Æ‚©ŽÀ‘•‚µ‚½‚Æ‚«‚»‚ñ‚ȃR[ƒh‘‚©‚³‚ꂽ‚Ì‚ðŽv‚¢‚¾‚µ‚½B
928 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/25(‹à) 21:42:11
‚·‚Ý‚Ü‚¹‚ñB

http://dobon.net/vb/dotnet/system/sessionending.html‚ðŽQl‚É
ƒVƒXƒeƒ€ƒVƒƒƒbƒgƒ_ƒEƒ“Žž‚̃AƒvƒŠI—¹ˆ—‚ð‘‚­‚±‚Æ‚ª‚Å‚«‚Ü‚µ‚½B
iƒ^ƒXƒNƒgƒŒƒCí’“Œ^ƒAƒvƒŠ‚Å‚·Bj

‚Å‚·‚ªAã‹L‚̃y[ƒW‚ÍAForm‚ª‚ ‚é‚Æ‘O’ñ‚̃vƒƒOƒ‰ƒ€‚Å
SystemEvents.SessionEnding -= new SessionEndingEventHandler(SystemEvents_SessionEnding);
‚Æ‚¢‚¤ˆê•¶‚ðForm1_Closedƒƒ\ƒbƒh‚Ì’†‚Å‘‚¢‚Ä‚¢‚Ü‚·B

Ž„‚̃vƒƒOƒ‰ƒ€‚̓^ƒXƒNƒgƒŒƒCí’“ƒAƒvƒŠ‚Å‚Ù‚Æ‚ñ‚ǃtƒH[ƒ€‚ð•\Ž¦‚µ‚È‚¢‚Ì‚Å
‚Ç‚Ì•”•ª‚Å‘‚¯‚΂¢‚¢‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñB

’m‚Á‚Ä‚¢‚él‚ª‚¢‚Ü‚µ‚½‚çA‹³‚¦‚Ä‚­‚¾‚³‚¢B
ƒtƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Þƒƒ\ƒbƒh‚ÅA
ƒtƒH[ƒ}ƒbƒg‚ª‘½­•Ï‚Å‚àÅŒã‚Ü‚Å“Ç‚Ý‚±‚Þ‚¯‚Ç
“r’†‚Å”­¶‚µ‚½ƒGƒ‰[‚Í‘S•”‹L˜^‚µ‚ČĂÑo‚µŒ³‚É•Ô‚µ‚½‚¢‚È‚ñ‚ÄŽž‚Á‚Ä
‚Ç‚ñ‚È•—‚ÉŽÀ‘•‚·‚é‚Ì‚ªƒXƒ}[ƒg‚È‚ñ‚Å‚µ‚å‚©‚ËB

–ß‚è’l‚Í“Ç‚Ýž‚ñ‚¾’l‚ð•Ô‚µ‚½‚¢‚©‚ç
out ‚ ‚½‚è‚ŃŠƒXƒg‚Å•Ô‚·‚Ì‚ª‚¢‚¢‚Ì‚©‚È‚ŸB
‚»‚ê‚Æ‚àƒCƒxƒ“ƒg‚Å’€ˆê•Ô‚·•û‚ª‚¢‚¢‚ñ‚Å‚µ‚å‚©B
LINQ ˆÈ‘O‚Ì–â‘肾‚È‚ŸB

•S•à÷‚Á‚Ä‚»‚̈—‚ª•K—v‚¾‚Æ‚µ‚ÄA
”ñ LINQ ‚ʼnñ‚·‚É‚µ‚Ä‚àA‚»‚ê‚ÍðŒ‚ðˆê“xƒƒ\ƒbƒh‰»‚µ‚ÄA

foreach (var ctr in this.Controls)
@if (cond(ctr))
@@listBox1.Items.Add(ctr.Name);

‚Æ‚·‚ׂ«‚¾‚ÆŽv‚¤‚µA‚±‚ê‚Ì LINQ ‰»‚ÍA

foreach (var item in this.Controls.Where(x => cond(x)).Select(x => x.Name))
@listBox1.Items.Adde(item);
ø‚Á‚Ä‚Í‚Ý‚½‚à‚Ì‚ÌA‚»‚¤‚¢‚¤ê‡‚ɃtƒBƒ‹ƒ^‚Æ‚©Œ‹‡‚Æ‚©‚Ç‚¤‚â‚é‚Ì‚©•ª‚©‚ç‚È‚­‚Ä
ŽQl—Ⴊ—~‚µ‚¢‚¾‚¯‚¾‚Á‚½‚è‚·‚éB
ƒGƒŒƒKƒ“ƒg‚É‘‚¯‚é‚È‚ç‚ÎA‚»‚ê‚ɉz‚µ‚½‚±‚Æ‚È‚¢‚©‚狳‚¦‚Ä‚­‚êB
‚¨‚¨‚Á‚ÆŽv‚Á‚½‚ç^Ž—‚·‚é‚©‚çB
>>929
ƒfƒŠƒQ[ƒg‚©ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðˆø”‚É“n‚µ‚ÄAƒGƒ‰[‚ª‹N‚«‚邽‚тɃR[ƒ‹ƒoƒbƒN‚·‚é
ƒCƒxƒ“ƒg‚Å‚à“¯‚¶‚¾‚¯‚ǃRƒ“ƒ|[ƒlƒ“ƒgì‚é‚Ì‚Å‚à‚È‚¯‚ê‚ΑåŒU¾‚·‚¬‚邵•ª‚©‚è‚Â炢
‚¨‚¨A
bool cond(Control ctr) {
bool hit = false;
if (ctr is TextBox) {
hit = true;
} else if ((ctr is ListBox) || (ctr is UserControl)) {
if (ctr.Tag is String) {
hit = true;
}
} else if (ctr is Label) {
if (!((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null)))) {
hit = true;
}
}
return hit;
}
‚Æo‚µ‚ÄA
var col = this.Controls.OfType<Control>()
.Where(x => cond(x)).Select(x => x.Name);
foreach (var item in col) {
listBox1.Items.Add(item);
}
‚Æ‘‚­‚킯‚©B‚Å‚àA‚»‚ê‚Á‚Ä
foreach (Control ctr in this.Controls) {
if (cond(ctr)) {
listBox1.Items.Add(ctr.Name);
}
}
‚æ‚胃P•ª‚©‚ñ‚È‚¢‚©‚çƒt[ƒ“B
>>933
‚¨‘O‚Ý‚½‚¢‚ȃAƒz‚ª‘‚¢‚Ä‚àƒJƒIƒX‚ð¶‚Þ‚¾‚¯‚¾‚©‚çif‚Ì—…—ñ‚É–„‚à‚ê‚Ä‚½‚Ù‚¤‚ª‚¢‚¢‚æB
>>928
‹N“®Žž‚Ɉê‰ñ+=‚µ‚ăAƒvƒŠI—¹‚Ü‚Å‚»‚Ì‚Ü‚ñ‚Ü‚È‚ç•Ê‚É-=‚·‚é•K—v‚Í‚È‚¢‚æ
936 F‚X‚Q‚WF2010/06/25(‹à) 22:17:01
ƒfƒXƒgƒ‰ƒNƒ^‚É‘‚¢‚Ä‚à‚¢‚¢‚Å‚·‚©iLEƒÖEMj
937 F‚X‚Q‚WF2010/06/25(‹à) 22:19:05
>>935
‚¨‚¨A‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·II

-=‚Í•K—v‚È‚¢‚ñ‚Å‚·‚ËI‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½B‰SŽÒƒXƒŒ‚Å•·‚¢‚½‚Ù‚¤‚ª‚æ‚©‚Á‚½‚Ý‚½‚¢‚Å‚·B

‚ ‚肪‚Æ‚¤B
‘¼‚Ì‚Æ‚±‚ë‚ÅŽÀÛ‚É‚â‚Á‚¿‚á‚Á‚Ä‚»‚¤‚¾‚©‚猾‚Á‚Æ‚­‚¯‚ÇAƒfƒXƒgƒ‰ƒNƒ^‚Å-=‚µ‚Ä‚Í‚¢‚¯‚È‚¢B
ƒCƒxƒ“ƒg‚ÅŒq‚ª‚Á‚Ä‚éŠÔAƒCƒxƒ“ƒg‚Ì“o˜^悪GC‚³‚ê‚È‚¢ŒÀ‚è‚Íâ‘΂ɃCƒxƒ“ƒgƒnƒ“ƒhƒ‰‘¤‚ÍGC‚³‚ê‚È‚¢‚©‚ç
‰½‚̈Ӗ¡‚à‚È‚¢‚Ç‚±‚ë‚©AƒfƒXƒgƒ‰ƒNƒ^‚Å‘¼‚̃IƒuƒWƒFƒNƒg‚ɃAƒNƒZƒX‚µ‚Ä‚µ‚Ü‚¤‚Æ‚»‚̃IƒuƒWƒFƒNƒg‚ª•œŠˆ‚µ‚ÄGCƒ^ƒCƒ~ƒ“ƒO‚ª’x‚ê‚éB
>>934
933Œ©‚ê‚Εª‚©‚邪AŒ¾‚í‚ꂽ‘‚«•û‘‚¢‚½‚çA”ñLINQ‚æ‚莚”‘½‚­‚È‚Á‚Ä‚½‚Å‚²‚´‚é‚ÌŠªB
if ‚É–„‚à‚ê‚éˆÈ‘O‚É•¡ŽG‚É‚µ‚Ä‚Ç[‚·‚é‚æH
>>939
ƒAƒz‚¾‚Æs‚Á‚½‚Ì‚ÍA‚¨‘O‚Ìo‚µ‚½Linq”Å‚Æ”ñLinq”Å‚Í‹““®‚ªˆá‚¤‚©‚炾‚æB
‚¨‘O‚Ý‚½‚¢‚ȃAƒz‚ª‘‚¢‚Ä‚àƒJƒIƒX‚ð¶‚Þ‚¾‚¯‚¾‚©‚çLINQ‚Ì—…—ñ‚É–„‚à‚ê‚Ä‚½‚Ù‚¤‚ª‚¢‚¢‚æB
>>940
‚Ó‚ÞAŽŽ‚µ‚Ä‹““®‚Í“¯‚¶‚¾‚Á‚½‚ñ‚¾‚ªAŽŽ‚µ•û‚ª‘«‚è‚È‚©‚Á‚½‚Ì‚©‚ÈH
‹ï‘Ì“I‚É‚ÍH
943 F‚X‚Q‚WF2010/06/25(‹à) 22:38:17
>>938
Šm‚©‚ÉA‚â‚Á‚¿‚á‚¢‚»‚¤‚Å‚µ‚½EE
Ž©•ª‚É‚Í‚Ü‚¾‚©‚È‚è“‚»‚¤‚Å‚·‚ªA‚â‚ç‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Í
‚µ‚Á‚©‚èŠo‚¦‚Ä‚¨‚«‚Ü‚·B‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
>>939
•¶Žš” •¡ŽG“x‚¶‚á‚È‚¢‚¯‚Ç‚ËB

ˆÓ}‚ð‹Lq‚·‚é‚Á‚Ä‚Ì‚ª‘厖B
‚±‚Ì—á‚­‚ç‚¢‚È‚çAŠe—v‘f‚È‚ß‚ÄiforeachjA‚à‚µðŒ–ž‚½‚·‚È‚çiifj‚È‚ñ‚ÅA
LINQ ‚Å‚È‚­‚Ä‚à‘å‘̈Ó}•\‚¹‚Ă邵A•Ê‚ÉŒ³‚Ì‚Ü‚Ü‚Å‚à‚¢‚¢‚ÆŽv‚¤‚¯‚ÇB

‚à‚¿‚ë‚ñAcond ‚Ì•”•ª‚ðŠÖ”‰»‚µ‚Ä‚È‚¢ >>924 ‚Í‚»‚êˆÈ‘O‚Ì–â‘è‚Ř_ŠOB
>>942
‚ ‚ A‚²‚ß‚ñA‹““®‚Æ‚¢‚¤‚Ì‚ÍŒ¾‚¢•û‚ªˆ«‚©‚Á‚½B
OfType‚ÍŠ®‘S•s—v‚¾‚µA‰º‚Ƈ‚킹‚é‚È‚çSelect‚à”÷–­‚È‚Æ‚±‚낾‚©‚ç
Žš”‚ª‘½‚­‚È‚Á‚Ä•¡ŽG‚Æ‚©‚¢‚¤‚悤‚È”äŠr‚È‚ç

foreach (var item in this.Controls.Where(x => cond(x))) {
listBox1.Items.Add(item.Name);
}

‚¶‚á‚È‚¢‚Ì‚©‚ÈA‚ÆB
Œ‹‹ÇAif‚𒆂ɒu‚­‚©ŠO‚É’u‚­(Where)‚©A‚Æ‚¢‚¤
textBox1.Text‚Ì—á‚Æ“¯‚¶˜b‚É‚È‚Á‚Ä‚éB
‚Ü‚ A”äŠr•”•ª‚ðcondŠÖ”‚É•ª‚¯‚½‚©‚çA‚»‚¤‚È‚é‚Ì‚Í“–‘R‚¾‚¯‚ÇB
Linq‚Ì—Ç‚µˆ«‚µ‚ðŒê‚ê‚é—á‚Å‚Í‚È‚¢i‚±‚ê‚È‚ç‚Ç‚Á‚¿‚Å‚àD‚Ý‚Å‚¢‚¢j
>>945
>>908
'System.Windows.Forms.Control.ControlCollection' ‚É 'Where' ‚Ì’è‹`‚ªŠÜ‚Ü‚ê‚Ä‚¨‚炸AŒ^ 'System.Windows.Forms.Control.ControlCollection' ‚Ìʼn‚̈ø”‚ðŽó‚¯•t‚¯‚éŠg’£ƒƒ\ƒbƒh‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½Busing ƒfƒBƒŒƒNƒeƒBƒu‚Ü‚½‚̓AƒZƒ“ƒuƒŠŽQÆ‚ª•s‘«‚µ‚Ä‚¢‚Ü‚·B
‚»‚ê‚Æ‚àA‰½‚©ŽQÆ‚ð’ljÁ‚µ‚½‚çƒRƒ“ƒpƒCƒ‹’Ê‚é‚Ì‚©H
ŽŽ‚µ‚Ä‚Ý‚½ƒR[ƒh‚Ìusing‚ð“\‚Á‚Ä‚­‚êB
>>946
‚ [AŽŽ‚µ‚Ä‚È‚¢‚ÅŒ¾‚Á‚Ä‚½‚æAŠ®‘S‚ɉ´‚ªˆ«‚¢A
ˆÌ‚»‚¤‚È‚±‚ÆŒ¾‚Á‚½‚­‚¹‚ÉA‚Ù‚ñ‚Æ‚·‚Ü‚ñB
IEnumerable‚É‚ÍCast<T>‚à‚µ‚­‚ÍOfType<T>‚ª•K—vB
Linq‚ÍIEnumerable<T>‚ªŠî–{‚È‚Ì‚ÅA
is‚âas‚Å•ªŠò‚³‚¹‚é‚Æ‚¢‚Á‚½A•¡”‚ÌŒ^‚ðˆµ‚¤‚Ì‚É‚ÍŒü‚¢‚Ä‚È‚¢B
¡‰ñ‚ÍŠî’êŒ^‚ɃAƒbƒvƒLƒƒƒXƒg‚µ‚½‚¤‚¦‚ÅA
•ÊŠÖ”‚É•ª‚¯‚½‚Æ‚Í‚¢‚¦Œ^”»’è‚Ń_ƒEƒ“ƒLƒƒƒXƒg‚µ‚Ä•ªŠò‚³‚¹‚é‚Æ‚¢‚¤
“ñ“xŽèŠÔŽO“xŽèŠÔó‘Ô‚É‚È‚Á‚Ä‚é‚Ì‚ÅALinq‚É‚ÍŒü‚¢‚Ä‚È‚¢—á‚Æ‚¢‚¤‚±‚Æ‚É‚È‚è‚»‚¤B
GetType()‚Ì–ß‚è’l‚ÅGroupBy()‚Å‚«‚邾‚ëB
>>Œü‚¢‚Ä‚¢‚È‚¢—á
Œü‚¢‚Ä‚¢‚é—á‚Æ‚µ‚ÄAIQueryable‚Æ‚©Expression‚Æ‚©A‚È‚ñ‚Æ‚È‚­Š·‚¦‚Ì‚È‚³‚°‚È
V(?)‹@”\‚ÍFX‚ ‚é‚Ì‚ÉA‚¢‚Ü‚¢‚¿Žg‚¢•û‚ªƒsƒ“‚Æ‚±‚È‚¢‚ñ‚¾‚æ‚È‚ŸB

>>948
ƒR[ƒh‘‚¢‚Ä‚æB
LINQ ‚ªŒü‚¢‚Ä‚éŒü‚¢‚Ä‚È‚¢‚¶‚á‚È‚­‚ÄA>>924 ‚̃vƒƒOƒ‰ƒ}[‚ÉŒü‚¢‚Ä‚È‚³‚ªâ–]“I‚ȃŒƒxƒ‹B
>>948
ƒfƒUƒpƒ^Šo‚¦‚½‚ẴAƒzƒvƒƒOƒ‰ƒ}‚ª
if•¶‚ð‰½‚Å‚à‚©‚ñ‚Å‚àƒXƒgƒ‰ƒeƒW‚É’u‚«Š·‚¦‚Ä‚½‚Ì‚ðŽv‚¢o‚µ‚½‚íB
’†“r”¼’[‚È”hŒ­‚É‚±‚¤‚¢‚¤‚Ì‚ª‘½‚¢B
E‹ÆSE‚¾‚©‚ç‚ËB
ŠÈŒ‰‚³‚È‚ñ‚ÄŽ©ŒÈ–ž‘«‚¶‚á‚È‚­A–Ú‚Å’Ç‚¢‚â‚·‚³Šm”F‚µ‚â‚·‚³‚ª‘æˆê‚È‚ñ‚æ–V‚¿‚á‚ñB
‚¨‚Á‚ÆAƒvƒ‚ÌE‹ÆSE‚Ìo‚·—Ⴊ924‚Æ‚¢‚¤‚È‚ç–â‘èƒAƒŠƒAƒŠ‚¾‚ÈB
‚©‚È‚è‚Ë‚¥B
Œ©‚â‚·‚³‚Æ‚©‚¢‚¤ˆÈ‘O‚ÉÝŒv‚â‚΂»‚¤B
955 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/26(“y) 00:35:16
>>924‚Íã‚©‚ç–Úü‚®‚ ‚¢‚©‚猩‚Äã—¬‚ÌSIer‚©H
“ú–{‚É’u‚¯‚éIT‹ÆŠE‚ÌŠà
ƒTƒ“ƒvƒ‹‚Æ‚µ‚Ä“K“–‚Éì‚Á‚½Žd—l‚É•¶‹åŒ¾‚í‚ê‚Ä‚à‚Èwwwwwww
‚»‚ñ‚ȃAƒz‚ÈŽd—l‚¾‚낤‚ÆA‚¿‚á‚ñ‚ÆŽÀ‘•‚µ‚ÄŽÀŒ»‰Â”\‚ÆŽ¦‚µ‚½‚ñ‚¾‚©‚çA
•¶‹åŒ¾‚í‚ê‚é‹Ø‡‚¢‚Í‚È‚¢‚ÈB
•¶‹å‚ðŒ¾‚¦‚é‚Ì‚Í‘ÎR‚µ‚ăR[ƒho‚µ‚Ä‚«‚½>>930‚Æ‚©‚¾‚¯B
”½˜_‚àƒR[ƒh‚Å‚¨Šè‚¢‚µ‚Ü‚·‚ËAƒvƒƒOƒ‰ƒ}[‚ÉŒü‚¢‚Ä‚¢‚邨•ûB
•KŽ€‚—‚—
‚Þ‚µ‚ëA¬‚³‚ȃTƒ“ƒvƒ‹‚É‚±‚»ƒZƒ“ƒX‚âŽÀ—Í‚ª–â‚í‚ê‚é‚ñ‚¾‚ªB
959 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/06/26(“y) 00:42:34
‚±‚ñ‚ȃXƒŒ‚Å‚Ç‚¤‚Å‚à‚¢‚¢‚æ
‚¿‚Á‚Æ‚ÍŒû“®‚©‚³‚È‚¢‚ÅŽè‚ð“®‚©‚µ‚È‚³‚¢‚æB‚ AƒŒƒX‚àŽè‚©wwww
>>924
listBox1.Items.AddRange(
 from c in this.Controls
 where
   i is TextBox ||
   ((i is ListBox || i is UserControl) && i.Tag is string) ||
   (i is Label && !(i.Text.EndsWith(":") || ((Label)i).Image != null))
 select i.Name);
>>961
x from c in this.Controls
o from i in this.Controls
—v .OfType<Control>()
‚È‚é‚Ù‚ÇA
var ctrls
= from ctr in Controls.OfType<Control>()
where (
(
ctr is TextBox
) || (
((ctr is ListBox) || (ctr is UserControl))
&& (ctr.Tag is String)
) || (
(ctr is Label)
&& (!((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null))))
)
)
select ctr.Name;
listBox2.Items.AddRange(ctrls.ToArray());
¦ OfType’ljÁ‚ÆAAddRange‚ÍIEnumrable<String>‹–—e‚µ‚È‚¢‚ñ‚ÅToArrayŠš‚Ü‚¹‚½
‚Æ‘‚¯‚΂¢‚¢‚ñ‚Å‚·‚ËBŒ¾‚í‚ê‚Ä‚Ý‚½‚ç“–‚½‚è‘O‚¾‚Á‚½EEEB

‚±‚ê‚È‚çiŒÂlŽåŠÏ‚Åj”[“¾BŠÈŒ‰‚É‘‚«‚½‚¢êŠ‚ÅŽg‚Á‚Ä‚Ý‚Ü‚·A‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‚ A‚±‚¤‘‚¯‚΂悩‚Á‚½B
listBox2.Items.AddRange((
from ctr in Controls.OfType<Control>()
iwhere ‹åÈ—ªj
select ctr.Name
).ToArray());
‰Æ‚É‹A‚Á‚½‚çŽQí
Func<Control, bool> lambda_cond = ctr => (
(
ctr is TextBox
) || (
((ctr is ListBox) || (ctr is UserControl))
&& (ctr.Tag is String)
) || (
(ctr is Label)
&& (!((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null))))
)
);
‚Æ delegate ‚ÅðŒ‘‚¢‚ÄA
foreach (Control ctr in this.Controls) {
if (lambda_cond(ctr)) {
listBox3.Items.Add(ctr.Name);
}
}
‚Æ·‚µ‘Ö‚¦‰Â”\‚É‚µ‚Ä‚Ý‚½‚ñ‚¾‚¯‚ÇALINQ ”Å‚Ì‘‚«•û‚ª‚í‚©‚ñ‚È‚¢‚Å‚·B
listBox2.Items.AddRange((from ctr in Controls.OfType<Control>() where lambda_cond select ctr.Name).ToArray());
‚Æ‘‚­‚ÆuŒ^ 'System.Func<System.Windows.Forms.Control,bool>' ‚ðŒ^ 'bool' ‚ɈÖٓI‚É•ÏŠ·‚Å‚«‚Ü‚¹‚ñBvB
‚Ç‚¤‘‚¢‚½‚ç‚¢‚¢H’P‚É‘‚«•û‚Ì–â‘肾‚ÆŽv‚Á‚Ä‚éB
“VŒ[·À°
listBox2.Items.AddRange((from ctr in Controls.OfType<Control>() where lambda_cond(ctr) select ctr.Name).ToArray());
‚ÅŽ©ŒÈ‰ðŒˆB“–‚½‚è‘O‚¾w
‚¶‚á‚ ‰´‚Í‚±‚ê‚Å

Func<Control, bool?>[] filter = {
@@c => (c is TextBox) ? true : default(bool?),
@@c => ((c is ListBox || c is UserControl) && c.Tag is string) ? true : default(bool?),
@@c => (c is Label && !c.Text.EndsWith(":") && (((Label)c).Image == null)) ? true : default(bool?),
};

var q = from Control c in Controls
@@@@@let qq = from f in filter
@@@@@@@@@@select f(c) into r
@@@@@@@@@@where r != null
@@@@@@@@@@select (bool)r
@@@@@where qq.FirstOrDefault()
@@@@@select c.Name;

listBox1.Items.AddRange(q.ToArray());
”»’è‚ðor•Ê‚É”z—ñ‰»‚µ‚ăTƒuƒNƒGƒŠ‚Ń}ƒbƒ`ƒ“ƒOB
ƒ}ƒbƒ`‚Ítrue,ƒAƒ“ƒ}ƒbƒ`‚Ínull‚ÅŒ‹‰Ê‚Énull‚µ‚©‚È‚¯‚ê‚Îfalse‚Æ‚µ‚Ätrue‚ðW‚ß‚éB
”»’è‚𕪊„‚µ‚ĒljÁ휂ð‚â‚è‚â‚·‚­‚µ‚悤‚ÆŒ¾‚¤‚ñ‚Å‚·‚ËB
‚Þ‚¸‚©‚µ‚·EEE‚Å‚àXV‰ÓŠ‚Í”z—ñ—v‘f‚É‚È‚Á‚Ä‚¢‚Ĉµ‚¢‚â‚·‚»‚¤B
filter ‚ðƒpƒ‰ƒ[ƒ^‚É‚µ‚ÄŠÖ”‰»‚µ‚Ä‚µ‚Ü‚¦‚ΉB•Á‚Å‚«‚邵B
‚Æ‚±‚ë‚ÅAWMI‚ÉLINQ‚ð“K—p‚µ‚Ä‚Ý‚ÄA‚±‚è‚á•Ö—˜‚Æ—‰ðB
Func<string, IEnumerable<ManagementObject>> GetManagementObject
= type => new ManagementClass(type).GetInstances().OfType<ManagementObject>();
foreach (var d in
from ldisk in GetManagementObject("Win32_LogicalDisk")
from l2p in GetManagementObject("Win32_LogicalDiskToPartition")
from d2p in GetManagementObject("Win32_DiskDriveToDiskPartition")
from disk in GetManagementObject("Win32_DiskDrive")
where ldisk.ToString()==l2p["Dependent"].ToString()
&& l2p["Antecedent"].ToString()==d2p["Dependent"].ToString()
&& d2p["Antecedent"].ToString()==disk.ToString()
select new {Name=ldisk["DeviceID"], PNPDeviceID=disk["PNPDeviceID"]
, ldisk, l2p, d2p, disk })
{
Console.Out.WriteLine("{0} : {1}", d.Name, d.PNPDeviceID);
}
‚Æ‚©B‚¢‚â–{“–‚É•Ö—˜‚¾‚íA‚±‚ê‚È‚çB

‚±‚ê‚ÅADiskDrive ‚ÆŒ‹‚т‚©‚È‚¢ LogicalDisk ‚àƒŠƒXƒgƒAƒbƒv‚µ‚½‚¢‚Æ’§í’†B
outer join ‚Æ‚©‚Ç‚¤•\Œ»‚µ‚½‚ç‚¢‚¢‚ñ‚Å‚µ‚傤H
ƒNƒGƒŠƒL[ƒ[ƒh‚É‚Íjoin‚à‚ ‚邪
‚·‚Ý‚Ü‚¹‚ñB³Šm‚É‚ÍA‚±‚¤‚¢‚¤ê‡‚Å‚Ì DefaultIfEmpty ‚ÌŽg‚¢•û‚Å‚·B
‚ AWin32_LogicalDiskToPartition ‚ÆŠÖ˜A‚©‚È‚¢ Win32_LogicalDisk ‚ðW‚ß‚Ä
Union ‚Ŭ“ü‚³‚¹‚Ä‚µ‚Ü‚¦‚ÎA‚Æ‚¢‚¤ƒAƒCƒfƒA‚ª•‚‚©‚ñ‚¾B

‚Å‚àA¶ŠO•”Œ‹‡‚ðŒJ‚è•Ô‚·ƒpƒ^[ƒ“‚Ì‘‚«•û‚ª’m‚肽‚¢‚Å‚·B
ŠÖ˜A‚©‚È‚¢ê‡‚Í l2p, d2p, disk ‚Ì‚»‚ꂼ‚ê‚É null ‚ª“ü‚Á‚Ä•Ô‚Á‚Ä‚­‚é•û–@B
¡‚Í
foreach (var d in
from ldisk in GetManagementObject("Win32_LogicalDisk")
join l2p in GetManagementObject("Win32_LogicalDiskToPartition")
on ldisk.ToString() equals l2p["Dependent"].ToString()
into ld_l2p from ld_l2p_outer in ld_l2p.DefaultIfEmpty()
join d2p in GetManagementObject("Win32_DiskDriveToDiskPartition")
on l2p["Antecedent"].ToString() equals d2p["Dependent"].ToString()
join disk in GetManagementObject("Win32_DiskDrive")
on d2p["Antecedent"].ToString() equals disk.ToString()
select new {
Name=ldisk["DeviceID"], PNPDeviceID=disk["PNPDeviceID"]
, ldisk, l2p, d2p, disk
})
‚Æ‚¢‚¤Š´‚¶‚Å on l2p["Antecedent"].ToString() equals d2p["Dependent"].ToString() ‚ª
u–¼‘O 'l2p' ‚Í 'equals' ‚̶•Ó‚̃XƒR[ƒv‚É‚ ‚è‚Ü‚¹‚ñB'equals' ‚Ì—¼•Ó‚ÌŽ®‚ðŒðŠ·‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢Bv
‚Æ‚È‚èA—¼•Ó‚ÌŽ®‚ðŒðŠ·‚µ‚Ä‚à“¯‚¶A‚Æ‚¢‚¤ˆ‚Å‹l‚Ü‚Á‚Ä‚¢‚Ü‚·B
‚Ç‚¤‚Å‚à‚¢‚¢‚¯‚ÇŒ©‚Â炢‚È‚ŸB
‰SŽÒƒXƒŒ‚É‚Í’·‚¢ƒR[ƒh‚Íideone‚É“\‚ê
‚Æ‚¢‚¤ƒeƒ“ƒvƒŒ‚ª‚ ‚邯‚ÇA‚±‚Á‚¿‚É‚Í‚È‚¢‚Ì‚ËB

‚»‚µ‚ÄA964‚ÍA‚È‚ñ‚Å‚í‚´‚í‚´‹CŽ‚¿ˆ«‚¢‰üs‚ɉüˆ«‚·‚é‚Ì‚¾‚©cc
‚±‚ꂪE‹ÆSE‚Ì–Ú‚Å’Ç‚¢‚â‚·‚¢ƒR[ƒhH
>>976
C³‚µ‚â‚·‚¢ƒR[ƒh
>>976
>>964 ‚Æ‚©‚Í
foreach
@@from ... i‚ÅŒ³‚ÌW‡j

@@join ... i‚ÅŒ‹‡‚·‚éW‡j
@@@@on ... i‚ÅŒ‹‡ðŒj
@@@@into ... i‚ňꎟ“I‚ÈŒ‹‡Œ‹‰ÊW‡j

@@join ... i‚ÅŒ‹‡‚·‚éW‡j
@@@@on ... i‚ÅŒ‹‡ðŒj
@@@@into ... i‚ňꎟ“I‚ÈŒ‹‡Œ‹‰ÊW‡j

‚Æ‚¢‚¤‚悤‚ÉðŒ‚ð’ljÁ휂µ‚â‚·‚¢’PˆÊ‚Å‚Ü‚¸•ª‚¯‚ÄA‚©‚‰¡•‚ªA4ˆóü‚É
‘Ï‚¦‚ç‚ê‚é’ö“x‚Å•ª‚¯‚ăCƒ“ƒfƒ“ƒg‚Æ‚¢‚¤ˆÓ}B
‰½‚©‹^–â‚Å‚àH‹^–â‚ ‚é‚È‚ç‰ü—Ç‚µ‚Ä‚­‚êB
‚ª[[[[[‚ñA974‚ƊԈႢ‚½II
‚¯‚ÇAl‚¦•û‚Í“¯‚¶B
c‚ÉL‚Ñ‚·‚¬‚È‚¢ŒÀ‚è‚ÍðŒ‚Ì[‚³•Ê‚ɃCƒ“ƒfƒ“ƒg‚µ‚‚Âs•ª‚¯‚µ‚Ä‚¨‚¢‚Ä‚éB
ŽÀۂ̃R[ƒh‚¾‚ÆX‚ɃRƒƒ“ƒg‚ª“ü‚éB
>>964 ‚ÌŒ³X‚̃Cƒ“ƒfƒ“ƒg‚ð‘SŠp‹ó”’‚ÅŒ©‚¦ˆÕ‚­‚·‚é‚Æ
var ctrls
@@= from ctr in Controls.OfType<Control>()
@@where (
@@@@(
@@@@@@ctr is TextBox
@@@@) || (
@@@@@@((ctr is ListBox) || (ctr is UserControl))
@@@@@@&& (ctr.Tag is String)
@@@@) || (
@@@@@@(ctr is Label)
@@@@@@&& (!((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null))))
@@@@)
@@)
@@select ctr.Name;
listBox2.Items.AddRange(ctrls.ToArray());
‚Á‚ÄŠ´‚¶‚Å‘‚¢‚Ä‚éB
ŽdŽ–U‚è‚ɃAƒ„‚‚¯‚ç‚ꂽ‚ç‚È‚ñ‚©A‚¾‚ñ‚¾‚ñ• ‚ª—§‚Á‚Ä‚«‚½B
ŽdŽ–‚ŃRƒƒ“ƒg‚à•t‚¯‚Ä‘‚­‚Æ‚µ‚½‚çA‚±‚ñ‚ÈŠ´‚¶‚©‚ÈB
@@@@#region ðŒ‚ɇ‚Á‚½ƒRƒ“ƒgƒ[ƒ‹‚Ì–¼‘O‚ðƒRƒ“ƒgƒ[ƒ‹ˆê——‚É•\Ž¦
@@@@var ctrls
@@@@@@@@= from ctr in Controls.OfType<Control>()
@@@@@@@@// ‘I‘ððŒ
@@@@@@@@where (
@@@@@@@@@@@@(
@@@@@@@@@@@@@@@@// TextBox ‚Ìê‡A–³ðŒ
@@@@@@@@@@@@@@@@ctr is TextBox
@@@@@@@@@@@@) || (
@@@@@@@@@@@@@@@@// ListBox, UserControl ‚Ìê‡
@@@@@@@@@@@@@@@@((ctr is ListBox) || (ctr is UserControl))
@@@@@@@@@@@@@@@@// Tag ‚ª•¶Žš—ñ
@@@@@@@@@@@@@@@@&& (ctr.Tag is String)
@@@@@@@@@@@@) || (
@@@@@@@@@@@@@@@@// Label ‚Ìê‡
@@@@@@@@@@@@@@@@(ctr is Label)
@@@@@@@@@@@@@@@@// ":" ‚ÅI‚í‚Á‚Ä‚¢‚é‚©AImage ‚ª null ‚Å‚È‚¢‚à‚Ì‚Íœ‚­
@@@@@@@@@@@@@@@@&& (!((ctr.Text.EndsWith(":") || ((ctr as Label).Image!=null))))
@@@@@@@@@@@@)
@@@@@@@@)
@@@@@@@@select ctr.Name;
@@@@listBox2.Items.AddRange(ctrls.ToArray());
@@@@#endregion
IDE‚¶‚á‚È‚­ˆóüƒx[ƒX‚ŃŒƒrƒ…[‚Æ‚©‚·‚é‚È‚çAƒRƒƒ“ƒg‚Éœ‚Æ‚©–Ú—§‚•¶Žš‚ð
擪‚É“ü‚ê‚Ä‚¨‚­‚Æ‚©•ÊƒCƒ“ƒfƒ“ƒg‚Æ‚©‚·‚邱‚Æ‚à‚ ‚éBˆóü‚¾‚ƃRƒƒ“ƒg‚àŒ©‚Â炢‚©‚çB‹C•ªB
ƒ€ƒVƒƒƒNƒVƒƒ‚µ‚Ä‚â‚Á‚½B¡‚ÍŒã‰÷‚µ‚Ä‚¢‚éB
ideone‚Å‚â‚ê
ƒ\[ƒX‚̃tƒH[ƒ}ƒbƒg‚Æ‚©LINQŽg‚¤‚©”Û‚©‚Æ‚©ˆÈ‘O‚É‚â‚è•û‚ª‰˜‚¢
C³‚Ì‚µ‚â‚·‚³‚Æ‚©‚¢‚¤‚ñ‚¾‚Á‚½‚çALINQ‚⃉ƒ€ƒ_‚ðŽg‚¤‚©‚Ç‚¤‚©‚Í‚Ç‚¤‚Å‚à‚¢‚¢‚¯‚Ç
l‚¦•û‚Í>>969ƒXƒ^ƒCƒ‹‚É‚·‚é‚ׂ«
>>981
‚»‚̃Rƒƒ“ƒg•s—v‚¾‚ëB
981‚Í
for(){
} // forI‚í‚è
‚Æ‚©
string hoge = hage; // hoge‚Éhage‚ð‘ã“ü
‚Æ‚©‚©‚«‚»‚¤‚¾‚ËB
ƒRƒƒ“ƒg‚¾‚炾‚ç“ü‚ê‚ê‚ÎŒ©‚â‚·‚¢‚Á‚Ä‚à‚ñ‚¶‚á‚Ë[‚¼B
‚»‚ñ‚Ȭ‚³‚¢•”•ª‚Éregion‚à‚¢‚ç‚Ë‚¦‚µB
‚Ù‚¢‚Ù‚¢ >>960

WMI ‚ÅŠO•”Œ‹‡‚³‚¹‚é”ÅA‚Æ‚è‚ ‚¦‚¸–³—–î—‚ÉŽ©ŒÈ‰ðŒˆ‚³‚¹‚Ü‚µ‚½‚¯‚ÇA
EEEƒh‰˜‚­‚ÄA‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚©‚í‚©‚ç‚È‚¢‚Å‚·B‚Ç‚¤‰ü—Ç‚·‚ê‚΂悢‚Å‚µ‚傤H

http://ideone.com/bOJL9
>>981
ƒƒ\ƒbƒh“à‚Åregion‚ŕ‚¶‚ç‚ꂽƒ\[ƒX‚ª‚ ‚Á‚½‚ç
‚ǂꂾ‚¯’·‘å‚ȃ\[ƒX‚ª“WŠJ‚³‚ê‚é‚Ì‚©‚ÆŽv‚Á‚Ä•|‚­‚ÄŽd•û‚ª–³‚¢‚Å‚·B
‚Ü‚Æ‚à‚Ès”‚̃ƒ\ƒbƒh‚È‚çregion‚ª•K—v‚ɂȂ邱‚Æ‚à‚È‚¢‚킯‚¾‚µA
ƒƒ\ƒbƒh“à‚Åregion‚ðŽg‚¤KŠµ‚ª‚ ‚él‚̃\[ƒX‚͂ǂꂾ‚¯’·‘å‚ÈÅ’·•s“|ƒƒ\ƒbƒh‚ð“ú ‚©‚çì‚Á‚Ä‚é‚ñ‚¾‚æ‚Æ‚¢‚¤Š´‚¶‚Å•|‚·‚¬‚Ü‚·B
>>987
‚à‚µ‚©‚µ‚½‚çì‹Æ—p‚̉æ–ʉ𑜓x‚ª’á‚¢‚¾‚¯‚©‚à‚µ‚ê‚È‚¢‚¼
‚¿‚È‚Ý‚É100s‹ß‚­‚È‚Á‚½‚çŠÖ”•ªŠ„l‚¦‚邵A‚»‚êˆÈ‘O‚Å‚à‹¤’ʈ—‘½‚¯‚è‚á
‹¤’ʉ»‚·‚é‚æB‚²S”z‚È‚­B
ƒTƒ“ƒvƒ‹‚Á‚Ä‚ñ‚¾‚ëEEE‚Ù‚ñ‚Æ >>960
‚¿‚å‚¢ŠJ‚¢‚Ä‚Ý‚½B
http://ideone.com/9bOXe
ƒlƒXƒg‚Ì‹CŽ‚¿ˆ«‚³‚ÍŒ¸‚Á‚½‚¯‚Ç‹¤’Ê“I‚È•”•ª‘½‚¢‚Ì‚ª‹C‚É‚È‚Á‚Ä‚éB
‚±‚ñ‚È‚±‚Æ‚µ‚È‚­‚Ä‚à join ‚Ì‚¤‚Ü‚¢‘‚«•û‚Á‚Ä‚ ‚è‚»‚¤‚È‚ñ‚¾‚¯‚Ç‚È‚ŸEEE‚È‚ñ‚Æ‚È‚­‚ÌŠ´G‚¾‚¯‚ÇB
>>989
‚Ù‚ñ‚ƃZƒ“ƒX‚Ì–³‚³‚Ɉì‚ê‚Ä‚é‚È
‚â‚è‚·‚¬‚ÄŽûW‚‚©‚È‚­‚È‚Á‚½EEEˆê‰ž“®ì‚Í‚·‚邯‚ÇA‚ ‚«‚ç‚©‚Ƀ_ƒ‚¾‚ë[A‚ÈŒ©–{B
http://ideone.com/Dmtg7

Ž©‹sƒlƒ^‚Æ‚µ‚ÄB
‚Ç‚¤‚¹‚È‚çLINQ to WMIì‚Á‚ÄCodeplex‚ÅŒöŠJ‚µ‚悤‚º
’†“r”¼’[‚Í‚â‚ß‚ÄA‹C‚ÌŒü‚­‚Ü‚Ü‚ÉAŠJ‚«’¼‚Á‚ÄB

ƒ‰ƒCƒuƒ‰ƒŠ
http://ideone.com/OHmUl
Žg—pƒTƒ“ƒvƒ‹
http://ideone.com/hl3Ai

WBEM‚̃Cƒxƒ“ƒg‚Æ‚©–Ê“|‚»‚¤‚¾‚µALINQ‚ÉŠµ‚ê‚邽‚ß‚ÉŽg‚Á‚Ä‚Ý‚½‚¾‚¯‚¾‚©‚ç
‚¢‚¶‚­‚é‚Ì‚ÍI—¹`
‚Ç‚¤‚¹ð“úLINQŽn‚ß‚½‚΂©‚è‚̉SŽÒ‚¾‚©‚çA‚à‚Á‚Æ‚¢‚¢‘‚«•û‚à‚ ‚邾‚낤‚µB
>>969
‚³‚ñA‹Md‚È‚²Ž¦´‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‚Ü‚¾•×‹­‚µ‚È‚¢‚ÆŽg‚¢‚±‚È‚¹‚È‚¢‚悤‚Å‚·‚ªB


‚Æ‚±‚ë‚ÅAŽŸƒXƒŒŒš‚Ä‚Ä‚­‚é‚ËB“Á‚Ƀeƒ“ƒvƒŒ‚͂‚¯‚È‚¢‚©‚ç‚æ‚낵‚­B
Œš‚Ä‚Ü‚µ‚½B

C#, Cò, C”‘Š’kŽº Part60
http://pc12.2ch.net/test/read.cgi/tech/1277576240/
>>989
100s‚ð‚ ‚é’ö“x‚Ì–ÚˆÀ‚É‚·‚é‚Æ‚±‚ë‚Í“¯ˆÓ‚¾‚ªAƒƒ\ƒbƒh“à‚Åregion‚Í‚È‚¢‚ÈB
fold‹@”\‚ðŠo‚¦‚½‚ẲSŽÒ‚ª‚æ‚­—”­‚·‚é
#region ƒvƒ‰ƒCƒx[ƒgƒtƒB[ƒ‹ƒh
#endregion

#region ƒRƒ“ƒXƒgƒ‰ƒNƒ^
#endregion

‚Ý‚½‚¢‚ÈŒ©‚è‚á‚í‚©‚é‚æŒn‚Í‚Ç‚¤‚æ
•Ê‚ɃRƒƒ“ƒg‚Ì‘ã‚í‚è‚ÉŽg‚Á‚Ä‚é‚킯‚¶‚á‚È‚¢‚¾‚ë
ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚âƒvƒƒpƒeƒB‚Íô‚ñ‚Å‚¨‚«‚½‚­‚È‚é‚Ì‚Í‚í‚©‚é
ƒI[ƒo[ƒ[ƒh’PˆÊ‚Åô‚Þl‚à‚¢‚½‚È
1001 F‚P‚O‚O‚PF
‚±‚̃XƒŒƒbƒh‚Í‚P‚O‚O‚O‚ð’´‚¦‚Ü‚µ‚½B
‚à‚¤‘‚¯‚È‚¢‚Ì‚ÅAV‚µ‚¢ƒXƒŒƒbƒh‚𗧂ĂĂ­‚¾‚³‚¢‚Å‚·BBB